Laravel 第一次使用,如何寫出第一個hello world
Laravel php 架構第一次接觸,遇到一些困難,在這裡記錄一下,有需要的童鞋可以看一下
從github上下載下來最新版,地址如下
https://github.com/laravel/laravel
我選擇的是download zip,下載到案頭上來,然後放到了一個apache的虛擬目錄裡邊,然後去訪問,這個目錄,結果是出錯的,這個出錯有兩個方面的原因
第一個原因是php版本應在5.3以上,因為5.3以上的才能解析__DIR__
__DIR__.'/bootstrap/paths.php'
第二路徑是錯誤的,虛擬目錄的路徑要指向解壓出來的public目錄,這樣才正確
然後我比照著文檔中做一個樣本,第一個樣本是route樣本,寫在了app/routes.php,這個目錄中,代碼如下
Route::get('users', function(){ return 'Users!';});
然後我訪問了本地地址:http://192.168.0.89:5605/users是出錯的,然後發現Laravel架構不是簡單地解壓就完事的,是需要安裝的,具體的安裝辦法
是這樣的(搜尋"windows下安裝php依賴關係管理工具composer"就可以找到,原連結如下
http://www.kankanews.com/ICkengine/archives/19110.shtml
安裝完成後,多了一個vendor目錄,其它的還沒有發現有什麼變化
安裝完成後,再訪問http://192.168.0.89:5605/users,這樣就正常了
為了防止連結失效我把他的文章複製一下放在下邊,
那麼如何在windows下安裝composer呢。
windows下執行命令的方式,不如linux下那麼方便。所以我們要先設定php環境變數,讓php能通過dos去運行。
1.我的電腦(右鍵)->屬性->進階系統設定->進階->環境變數,選中PATH,編輯,在後面追加
;D:\xampp\php
alt+r->cmd開啟dos視窗,執行php -v.如果中間報錯,提示一系列dll未找到,修改php.ini,
把extension_dir的值,設定為絕對路徑,extension_dir =”D:\xampp\php\ext”,我中間還有一個browscap.dll未找到的錯誤提示,找到php.ini中的browscap,將其值也修改為絕對路徑的值
如果不出錯了。執行php -v,應該得到以下結果:
2.開啟ssl擴充
修改php.ini,開啟extension = php_openssl.dll
3.進入到php目錄,執行php命令。
這裡推薦大家通過修改註冊表的形式,可以在要進入的檔案上右擊,直接進入到該檔案的cmd命令,而不用每次都執行cd /D D:/xampp/htdocs
建立檔案,粘貼一下代碼:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\folder\shell\cmd]
@=”CMD快速通道”
[HKEY_CLASSES_ROOT\folder\shell\cmd\command]
@=”cmd.exe /k cd %1″
儲存為xx.reg,啟動並執行時候,點擊是,然後找個檔案夾,右擊下,就會看到有個cmd快速通道的操作項了、
迴歸正題:進入到專案檔htdocs,在dos中輸入
php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
稍等片刻,會看到以下提示:
4.在你專案檔中,建立一個xx.bat的檔案,編輯內容如下:
@ECHO OFF
SET SUBDIR=%~dp0
php %SUBDIR%\composer.phar %*
然後執行一下。這個檔案,是要把當前的路徑定義成composer、當然,你也可以不執行該檔案。
5.到這裡,composer就基本安裝好了。那麼接下來我們要安裝擴充包了、
開啟htdocs中的composer.json,輸入我們要安裝的擴充:
格式大致如下:
{
“require”: {
“chrisboulton/php-resque”: “1.2″,
“lisachenko/go-aop-php”: “*”,
“monolog/monolog”:”1.2.*”
}
}
6.如果執行了第四步的檔案,直接在htdocs目錄下執行composer install
如果未執行第四步的檔案,則需要php composer.phar install
好了,安裝到這裡就完成了,擴充包,也下載好了。htdocs會多出一個vendor的檔案夾,開啟之後會發現,多出 chrisboulton,lisachenko,monolog三個檔案夾。現在來看看自動載入吧……
我們再需要用到擴充包的地方,require_once ROOT_PATH . ‘vendor/autoload.php’;
然後直接調用擴充包中的類名即可。
樣本如下:
<?php
require_once ROOT_PATH . ‘vendor/autoload.php’;//ROOT_PATH是根目錄
$redis = Resque::redis();//這裡直接調用vendor/chrisboulton/php-resque/lib/resque.php的類名,無需引入該檔案
var_dump($redis);
這個redis變數,就是php-resque的一個redis類