亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Laravel-Action 對代碼的改造

mj / 2515人閱讀

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

前言

以往寫過倆篇文章
[積德篇] 如何少寫PHP "爛"代碼 https://segmentfault.com/a/11...
舉槍消滅"爛代碼"的實戰(zhàn)案例 https://segmentfault.com/a/11...

感覺文章中對Action的操作沒有一個規(guī)范性的調(diào)用及編寫。特此寫了一個laravel-action包
https://github.com/CrazyCodes...
希望可以幫到你。

安裝

下載composer包: composer require crazycodes/laravel-action

注入提供者到 config/app.php

"providers" => [
    // [...]
   CrazyCodesActionServiceProvider::class,
],

注冊 Action facade:

"aliases" => [
    // [...]
    "Action" => CrazyCodesFacadesAction::class,
],

發(fā)布配置文件

php artisan vendor:publish --provider=CrazyCodesActionServiceProvider

配置項就一個

actionNamespace //設置你的action所在的命名空間
使用

繼承Action方法獲取規(guī)范的命名

namespace CrazyCodesAction;

class CreateUser extends Action
{

}

繼承的Action準備了兩個方法

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

Action被調(diào)用的同時會直接調(diào)用before方法執(zhí)行。

after
public function after($request)
{
    return [];
}

可以選擇不聲明after方法。after主要用于調(diào)用其他Action

成員變量
public $beforeResultName = "beforeResult";
public $afterResultName = "afterResult";

用于獲取返回的結(jié)果

調(diào)用

可以通過Facade調(diào)用

Action::use("YourAction",發(fā)送的參數(shù));

或者使用全局函數(shù)

laravel_action("YourAction",發(fā)送的參數(shù));
獲取結(jié)果

得到的結(jié)果默認是對象??梢赞D(zhuǎn)換格式

function toJson();
function toArray();

結(jié)果展示

Array

array:2 [
  "beforeResult" => array:1 [
    0 => "aaa"
  ]
  "afterResult" => []
]

JSON

{"beforeResult":["aaa"],"afterResult":[]}
Demo

依舊以創(chuàng)建用戶為例

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"];
        }
        
    }
致謝

感謝你看到這里,希望這篇文章讓你的代碼更優(yōu)雅。謝謝

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/29261.html

相關文章

  • 蚊子個人博客進行了徹底改造

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

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

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

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

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

    justjavac 評論0 收藏0
  • Vue現(xiàn)有項目改造為Nuxt項目

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

    Invoker 評論0 收藏0

發(fā)表評論

0條評論

mj

|高級講師

TA的文章

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