元件形式來分析 Laravel 思想 持續更新中

994914376發表於2019-05-30

使用 compoer 一個元件一個元件來分析 laravel 的思想

1、先來介紹下 composer 命令

命令 功能
composer list 獲取幫助列表資訊
composer init 以互動方式填寫 composer.json 檔案資訊
composer install 從當前目錄讀取 comopser.json 檔案,處理依賴關係,並安裝到 vendor 目錄下
composer update 獲取依賴的最新版本,升級 composer.lock 檔案
composer require 新增新的依賴包到 composer.json 檔案中並執行更新
composer search 在當前專案中搜尋依賴包
composer show 列舉所有可用的資源包
composer validate 檢測 composer.json 檔案是否有效
composer self-update 將 composer 工具更新到最新版本
composer create-project 基於 composer 建立一個新的專案
composer dump-autoload 在新增新的類和目錄對映時更新 autoloader

2、使用 composer 來搭建 laravel 框架

  • 初始化專案 暫起名叫 packagist-laravel 並建立 web 伺服器能訪問到該目錄
  • 在目錄下新建 composer.json 檔案輸入如下內容
    {
    "require": {
    }
    }
  • 執行 composer update 命令能看到目錄下生成了 vendor 檔案說明專案初始化成功

3、新增路由元件

  • composer.json 中新增如下程式碼
    {
    "require": {
        "illuminate/routing": "*",
        "illuminate/events": "*"
    }
    }
  • 執行 composer update 完成兩個元件的依賴安裝。接下來詳細講解如何使用這個元件 我們按照 laravel 的目錄結構來實現
  • 在目錄下建立 app/Http/routes.php檔案主要包含程式碼如下:
    <?php
    $app['router']->get('/', function () {
        return '路由元件成功';
    });
  • 接下來建立程式入口檔案,和 laravel 框架一樣 建立 public/index.php入口檔案 內容如下:
    <?php
    // 呼叫自動載入檔案
    require __DIR__ . '/../vendor/autoload.php';
    // 例項化服務容器,註冊事件、路由服務提供者
    $app = new Illuminate\Container\Container;
    with(new Illuminate\Events\EventServiceProvider($app))->register();
    with(new Illuminate\Routing\RoutingServiceProvider($app))->register();
    // 載入路由
    require __DIR__ . '/../app/Http/routes.php';
    // 例項化請求並分發處理請求
    $request = Illuminate\Http\Request::createFromGlobals();
    $response = $app['router']->dispatch($request);
    // 返回請求響應
  • 完成上述步驟之後啟動服務 訪問 'http://127.0.0.1:8000 在瀏覽器中能看到路由元件成功 說明路由元件已經整合功了。

原始碼地址:https://github.com/zhouyaozhouyao/packagis... 歡迎大家給 start ^_^

相關文章