摘要:前言以往寫過倆篇文章積德篇如何少寫爛代碼舉槍消滅爛代碼的實戰案例感覺文章中對的操作沒有一個規范性的調用及編寫。可以選擇不聲明方法。
前言
以往寫過倆篇文章
[積德篇] 如何少寫PHP "爛"代碼 https://segmentfault.com/a/11...
舉槍消滅"爛代碼"的實戰案例 https://segmentfault.com/a/11...
感覺文章中對Action的操作沒有一個規范性的調用及編寫。特此寫了一個laravel-action包
https://github.com/CrazyCodes...
希望可以幫到你。
下載composer包: composer require crazycodes/laravel-action
注入提供者到 config/app.php
"providers" => [ // [...] CrazyCodesActionServiceProvider::class, ],
注冊 Action facade:
"aliases" => [ // [...] "Action" => CrazyCodesFacadesAction::class, ],
發布配置文件
php artisan vendor:publish --provider=CrazyCodesActionServiceProvider
配置項就一個
actionNamespace //設置你的action所在的命名空間使用
繼承Action方法獲取規范的命名
namespace CrazyCodesAction; class CreateUser extends Action { }
繼承的Action準備了兩個方法
beforepublic function before($request) { return $request; }
Action被調用的同時會直接調用before方法執行。
afterpublic function after($request) { return []; }
可以選擇不聲明after方法。after主要用于調用其他Action
成員變量public $beforeResultName = "beforeResult"; public $afterResultName = "afterResult";
用于獲取返回的結果
調用可以通過Facade調用
Action::use("YourAction",發送的參數);
或者使用全局函數
laravel_action("YourAction",發送的參數);獲取結果
得到的結果默認是對象。可以轉換格式
function toJson(); function toArray();
結果展示
Array
array:2 [ "beforeResult" => array:1 [ 0 => "aaa" ] "afterResult" => [] ]
JSON
{"beforeResult":["aaa"],"afterResult":[]}Demo
依舊以創建用戶為例
UserController"test", "password" => "test", ]; $result = Action::use ("CreateUser", $request); //全局方法 //laravel_action ("CreateUser", $request); // return $result->toArray(); return $result->toJson (); } }CreateUser
"success"]; } public function after($request) { var_dump ($request); return Action::use ("CreateWallet", $request); } }CreateWallet
"success"]; } }致謝
感謝你看到這里,希望這篇文章讓你的代碼更優雅。謝謝
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29261.html
摘要:文章地址在網站開始對靜態博客收費后,各個第三方的評論系統也相繼無法使用的情況下,于是就產生了對博客進行改造的想法。于是在下班的休息時間之余,在基本不改變博客外觀的情況下,對博客進行里改造。 文章地址: https://www.xiabingbao.com/blog/2017/08/22/new-blog.html 在coding網站開始對靜態博客收費后,各個第三方的評論系統也相繼無...
摘要:文章地址在網站開始對靜態博客收費后,各個第三方的評論系統也相繼無法使用的情況下,于是就產生了對博客進行改造的想法。于是在下班的休息時間之余,在基本不改變博客外觀的情況下,對博客進行里改造。 文章地址: https://www.xiabingbao.com/blog/2017/08/22/new-blog.html 在coding網站開始對靜態博客收費后,各個第三方的評論系統也相繼無...
摘要:為對象字符串時,表示模塊的接口就是該對象字符串。我們來看一個實際的例子支付寶的登陸頁面。在網頁支付寶收銀臺中的運用很直觀的就能看到插模塊的合并,這個合并的工作就是構建工具的功勞了。 前言 一月份的時候,臨近放假,拿到一個需求,新增一個產品,我一個前端對一個java后端,兩個星期的開發時間。 因為大部分功能在別的產品都已經有了,基本都是簡單處理一下拿過來,再添加一下額外需要的功能,比如選...
摘要:好了,項目啟動了,目錄結構也清楚了,接下來就是整個現有項目的遷移了目前正在改造項目,文章尚未寫完,會抽時間不定期的繼續更新項目的改造過程及分享改造過程中遇到的問題 公司項目,最初只為了實現前后端分離式開發,直接選擇了vue框架進行開發,然而現在項目基本完成了,發現蜘蛛根本就抓取不到網站數據,搜索引擎搜出來,都是一片空白沒有數據,需要對項目做SEO優化。 本人第一次接觸SEO的優化,完全...
閱讀 3274·2021-09-30 09:47
閱讀 2290·2021-09-10 10:51
閱讀 1889·2021-09-08 09:36
閱讀 2926·2019-08-30 12:56
閱讀 3027·2019-08-30 11:16
閱讀 2622·2019-08-29 16:40
閱讀 2994·2019-08-29 15:25
閱讀 1632·2019-08-29 11:02