成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel-Action 對(duì)代碼的改造

mj / 2467人閱讀

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

前言

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

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

安裝

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

注入提供者到 config/app.php

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

注冊(cè) Action facade:

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

發(fā)布配置文件

php artisan vendor:publish --provider=CrazyCodesActionServiceProvider

配置項(xiàng)就一個(gè)

actionNamespace //設(shè)置你的action所在的命名空間
使用

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

namespace CrazyCodesAction;

class CreateUser extends Action
{

}

繼承的Action準(zhǔn)備了兩個(gè)方法

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

Action被調(diào)用的同時(shí)會(huì)直接調(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é)果默認(rèn)是對(duì)象??梢赞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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29261.html

相關(guān)文章

  • 對(duì)蚊子個(gè)人博客進(jìn)行了徹底改造

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

    silvertheo 評(píng)論0 收藏0
  • 對(duì)蚊子個(gè)人博客進(jìn)行了徹底改造

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

    mingzhong 評(píng)論0 收藏0
  • seajs模塊化改造實(shí)踐

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

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

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

    Invoker 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

mj

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<