天天看點

Slim —— PHP web開發微架構

Slim是一款基于PHP的web開發微架構,幫助 PHP 開發者快速編寫簡單強大的web應用和API。Slim的接口簡單而符合直覺,文檔也很詳細。

Slim —— PHP web開發微架構

直接看一段代碼吧:

$app->get('/', function () use ($app) {​

  var_dump($app);

});

是不是有點像jQuery?事實上,Slim的作者是PHP和JavaScript程式員,同時也是《PHP The Right Way》的作者。

特性

  • 強大的HTTP URL 路由
  • 配置簡單
  • 自定義視圖
  • 支援AES-256加密cookies
  • HTTP緩存
  • 可定制的日志記錄
  • 錯誤處理
  • 可擴充的中間層和hook架構
  • 錯誤處理和調試

安裝

使用 Composer 進行安裝

首先在你的項目中安裝 Composer:

curl -s https://getcomposer.org/installer | php

然後在你的項目根目錄中建立名為 composer.json 的檔案:

{

    "require": {

        "slim/slim": "2.*"

    }

}

通過 composer 進行安裝:

php composer.phar install

添加下列代碼到應用的 index.php 檔案中:

<?php

require 'vendor/autoload.php';

系統依賴

  • PHP 5.3.0 或以上
  • 如果你需要對cookies進行加密,則還需要 mcrypt 拓展。

Hello World

生成一個 Slim 應用執行個體,定義路由,并運作應用:

$app = new \Slim\Slim();

$app->get('/hello/:name', function($name){

                echo "Hello, $name";

            });

$app->run();

配置

Slim 架構提供了兩種方式對其進行配置。一種是在生成執行個體的時候進行參數設定,另一種則是在生成執行個體之後。所有的設定參數都可以在生成執行個體的時候以數組的形式傳遞給 Slim 的構造函數(constructor)。所有的設定參數都可以在生成執行個體之後擷取或者修改,但是有些設定并不能簡單的隻依靠應用執行個體的 config 函數來完成,是以有必要在後面額外說明。在我羅列這些有效設定參數之前,我想簡單的介紹下怎麼定義或檢查 Slim 應用的參數設定。

執行個體生成時

生成執行個體時定義設定,隻需要向 Slim 的構造器傳遞一個關聯數組。

$app = new Slim(array(

    'debug' => true

));

執行個體生成之後

要在執行個體生成之後定義參數設定,大部分設定都可以使用應用執行個體的 config 函數;config 函數的第一個參數是設定的名稱,第二個參數是設定的參數值。

$app->config('debug', false);

同時設定多個參數:

$app->config(array(

                'debug' => true,

                'templates.path' => ' ../templates'

                ));

擷取應用某項設定:

$settingValue = $app->config('templates.path'); // 傳回 "../templates"