欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Laravel7擴(kuò)展開發(fā)的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)Laravel7擴(kuò)展開發(fā)的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了隴南免費建站歡迎大家使用!

步驟 1. 創(chuàng)建一個新項目

我更喜歡使用 Laravel 安裝程序。

laravel new lara-dg

我更喜歡使用 SQLite 進(jìn)行測試和軟件包開發(fā)。修改你的.env 文件:

DB_CONNECTION=sqlite
DB_DATABASE=/Users/ivan/code/packages/test-project/database/database.sqlite

接著讓我們來創(chuàng)建包骨架。我們將使用 CLI tool. 它會生成所有必需的文件:

composer require jeroen-g/laravel-packager

然后你可以運行生成命令。Webkid 代表供應(yīng)商名稱(你的命名空間), LaravelDiagnostic 代表你的項目名稱:

php artisan packager:new Webkid LaravelDiagnostic --i

然后輸入有關(guān)你和你的包的信息?,F(xiàn)在看起來應(yīng)該是這樣:

Laravel7擴(kuò)展開發(fā)的示例分析

控制臺輸出

現(xiàn)在你的項目中有了 packages 文件夾,其中有 Webkid 目錄以及所有必需的文件。

該軟件包通過 composer 自動加載。我更喜歡使用相對路徑:

"repositories": {
    "webkid/laraveldiagnostic": {
        "type": "path",
        "url": "../../packages/lara-dg/packages/Webkid/LaravelDiagnostic"
    }
}

另外,如果你的 require 部分沒有自動更新,請手動更新一下。它將在你的 vendor 目錄中創(chuàng)建到軟件包目錄的符號鏈接。

"require": {
    "webkid/laraveldiagnostic": "*"
},

現(xiàn)在你可以在 src 文件夾中創(chuàng)建類,但是它們應(yīng)當(dāng)具有適當(dāng)?shù)拿臻g Webkid\LaravelDiagnostic.

例如,我有一個 Commands 目錄,其中有一個 RunDiagnostic.php 類文件。所以它應(yīng)該有這樣的命名空間:

namespace Webkid\LaravelDiagnostic\Commands;

如果要使用遷移、路由、配置文件、視圖甚至資源文件(js,CSS,images),你需要在服務(wù)提供者中加載它們。你可以在 官方文檔 中了解相關(guān)信息。在這個示例中我只使用了命令??匆幌挛业?LaravelDiagnosticServiceProvider 中的 bootForConsole() 方法:

public function bootForConsole()
{
    if ($this->app->runningInConsole()) {
        $this->commands([
            RunDiagnostic::class
        ]);
    }
}

我在第一次嘗試構(gòu)造我的包時遇到了麻煩,因此,我想跟你分享一下我的個人心得。我更喜歡將所有 PHP 類放入 src 文件夾中,并將所有其他文件放在外面。例如:

assets— 用于存放所有 CSS, js, images 文件

config — 用于存放所有配置文件

migrations — 用于存放所有遷移文件

resources — 用于存放所有視圖文件、lang 文件等

src — 用于存放所有 PHP 類,包括服務(wù)提供者

如果你需要引用其他軟件包,則必須編輯軟件包里的 composer.json 文件來添加。

"require": {
    "cviebrock/eloquent-sluggable": "^4.3"
}

一個更有用的技巧:當(dāng)你需要同時測試更改資源時,可以使用符號鏈接來避免始終重復(fù) vendor 發(fā)布。它將創(chuàng)建符號鏈接,而不是復(fù)制文件。這個技巧為我節(jié)省了很多時間

ln -s /path/to/your/project/webkid-cms/packages/webkid/cms/assets /path/to/your/project/webkid-cms/public/vendor/cms

然后更新 Composer 的自動加載以添加新文件:

composer dump-autoload

步驟 2. 把你的項目放到 GitHub 上

當(dāng)你的代碼庫準(zhǔn)備就緒后,可以到包目錄下初始化一個 Git 倉庫。

cd packages/Webkid/LaravelDiagnostic
git init
git add .
git commit -m "first commit"

創(chuàng)建一個 新 GitHub 倉庫 并且添加 origin.

git remote add origin git@github.com:yourusername/yourrepository.git
git push -u origin master
git tag -a 1.0.0 -m "release: First version"
git push --tags

步驟 3. 把你的項目放到 Packagist 上

首先,在 Packagist.org 網(wǎng)站注冊。我更喜歡使用我的 GitHub 帳戶進(jìn)行注冊。

然后使用此 URL 提交新軟件包。輸入你的包的 GitHub URL,然后單擊 Check. 如果發(fā)生任何錯誤,請按照屏幕上的說明進(jìn)行操作。

完成上一步后,你將跳轉(zhuǎn)到你的包的 packagist 頁面,在該頁面上你可能會收到如下通知:

此軟件包不會自動更新。請為 Packagist 設(shè)置 GitHub Service Hook 以便在你每次推送時更新它!

讓我們來設(shè)置一下。在此 頁面 上獲取 API 令牌,然后訪問你的包的 GitHub 頁面,找到 設(shè)置 / 網(wǎng)絡(luò)鉤子和服務(wù) / 添加新服務(wù) 界面。搜索 Packagist,輸入你的名字和令牌,然后點擊提交。在 Packagist 頁面上顯示的錯誤應(yīng)該會在 5–10 分鐘內(nèi)消失。

恭喜,你有一個有效的軟件包在線,現(xiàn)在你可以通過 composer 引用它了。

步驟 5. 在 packages 文件夾繼續(xù)進(jìn)行操作

如果你開發(fā)這個軟件包的唯一目的是幫助你開發(fā)軟件包,那么這個包的開發(fā)就完成了。

但是,如果你在一個更大的項目中開發(fā)了該軟件包,而現(xiàn)在又需要它,你可以將代碼保留在 packages 文件夾中并使用它。

每當(dāng)你完成工作時,可以從 composer.json 文件中刪除此代碼

"repositories": {
    "webkid/laraveldiagnostic": {
        "type": "path",
        "url": "../../packages/lara-dg/packages/Webkid/LaravelDiagnostic"
    }
}

然后從 packagist 拉取你的包。

關(guān)于“Laravel7擴(kuò)展開發(fā)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)站欄目:Laravel7擴(kuò)展開發(fā)的示例分析
標(biāo)題URL:http://aaarwkj.com/article4/gjghie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站定制開發(fā)、品牌網(wǎng)站設(shè)計、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
精品人妻av区久久久| 亚洲香蕉一级视频在线播放| 日日骚国产欧美一区二区| 亚洲欧美精品福利在线| 精品午夜免费福利视频| 久久热福利视频就在这里| 人妻中文字幕在线看粉嫩| 中文字幕日韩人妻av| 亚洲va久久久噜噜噜久久狠| 日韩av天堂在线观看| 超碰国产熟女一区二区三区 | 不卡一区二区福利日本| 日本一区二区在线高清| 亚洲精品国产熟女高潮 | 丝袜美腿精尽福利视频网址大全| 久久精品人妻少妇一区二 | 天天干夜夜操操操操| 国产乱一伦一性一情一色| 国产怡红院在线视频观看| 99热这里只有精品欧美| 免费观看在线视频午夜| 色综合天天综合天天更新| 国产女片xb内射在线| 日韩精品视频一区二区在线观看| 久久国产精品99久久久| 国产精品粉嫩在线播放| 国产精品—色哟哟视频| 在线观看午夜视频免费| 国产一区二区三区av| 日本女优久久精品观看| 日韩高清av一区二区| 欧美人妻不卡一区二区久久| 国产男女做爰在线视频| 国产日韩亚洲欧美在线| 亚洲av在线av天堂| 99热久久精品免费精品| 国产男女爱猛视频在线| 久久五十路六十路熟妇中出| 国产成人综合亚洲一区| 九九精品在线观看视频| 亚洲最色一区二区三区|