国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Laravel-Action 對代碼的改造

mj / 2458人閱讀

摘要:前言以往寫過倆篇文章積德篇如何少寫爛代碼舉槍消滅爛代碼的實戰案例感覺文章中對的操作沒有一個規范性的調用及編寫。可以選擇不聲明方法。

前言

以往寫過倆篇文章
[積德篇] 如何少寫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準備了兩個方法

before
public function before($request)
{
    return $request;
}

Action被調用的同時會直接調用before方法執行。

after
public 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網站開始對靜態博客收費后,各個第三方的評論系統也相繼無...

    silvertheo 評論0 收藏0
  • 蚊子個人博客進行了徹底改造

    摘要:文章地址在網站開始對靜態博客收費后,各個第三方的評論系統也相繼無法使用的情況下,于是就產生了對博客進行改造的想法。于是在下班的休息時間之余,在基本不改變博客外觀的情況下,對博客進行里改造。 文章地址: https://www.xiabingbao.com/blog/2017/08/22/new-blog.html 在coding網站開始對靜態博客收費后,各個第三方的評論系統也相繼無...

    mingzhong 評論0 收藏0
  • seajs模塊化改造實踐

    摘要:為對象字符串時,表示模塊的接口就是該對象字符串。我們來看一個實際的例子支付寶的登陸頁面。在網頁支付寶收銀臺中的運用很直觀的就能看到插模塊的合并,這個合并的工作就是構建工具的功勞了。 前言 一月份的時候,臨近放假,拿到一個需求,新增一個產品,我一個前端對一個java后端,兩個星期的開發時間。 因為大部分功能在別的產品都已經有了,基本都是簡單處理一下拿過來,再添加一下額外需要的功能,比如選...

    justjavac 評論0 收藏0
  • Vue現有項目改造為Nuxt項目

    摘要:好了,項目啟動了,目錄結構也清楚了,接下來就是整個現有項目的遷移了目前正在改造項目,文章尚未寫完,會抽時間不定期的繼續更新項目的改造過程及分享改造過程中遇到的問題 公司項目,最初只為了實現前后端分離式開發,直接選擇了vue框架進行開發,然而現在項目基本完成了,發現蜘蛛根本就抓取不到網站數據,搜索引擎搜出來,都是一片空白沒有數據,需要對項目做SEO優化。 本人第一次接觸SEO的優化,完全...

    Invoker 評論0 收藏0

發表評論

0條評論

mj

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<