A Phalcon在Windows上的安裝php
1 從Phalcon for Windows下載適合的DLL,css
這裏的適合 主要看兩個方面html
1 PHP的版本git
2 線程是不是安全github
3 編譯版本web
若是不清楚這些信息的話,能夠編寫一個phpinfo.php腳本apache
<?phpjson
phpinfo();windows
?>瀏覽器
而後經過瀏覽器直接訪問該文件,就能知道以上的全部信息
例如本人機器的環境信息以下
2 將下載下來的DLL文件,複製到PHP的擴展目錄去,本人的目錄是在C:\Zend\ZendServer\lib\phpext
3 在php.ini文件中 增長extension=php_phalcon.dll
4 重啓apache
5 驗證是否安裝正確
B devtools的安裝(經過composer安裝)
1 在本機的某個目錄下好比說d:\github\phalcon
增長一個composer.json文件
內容以下
{
"require": {
"phalcon/devtools": "dev-master"
}
}
2 運行cmd,進入到該目錄 好比說 cd d:\github\phalcon,運行composer install,會生成vendor目錄,在vendor/phalcon/devtools目錄是很重要的目錄,他的結構以下
3 設置環境變量,設置步驟如圖所示,設置的Path爲;D:\github\phalcon\vendor\phalcon\devtools
4 驗證是否安裝成功
出現該圖所示的話,說明OK
C devtools的使用
1 在D:\github\phalcon\目錄下,創建一個可使用webtools的項目learn
phalcon.bat project learn --enable-webtools
創建完成以後的工程目錄爲
app目錄
public目錄
從上面能夠基本判斷是一個MVC的框架
2 在apache上設置虛擬目錄
http.conf 配置以下
<Directory "D:/github">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
DocumentRoot D:/github/phalcon/learn/public
ServerName learn
</VirtualHost>
3 hosts文件中增長如下內容
127.0.0.1 learn
4 重啓apache服務以後,在瀏覽器上瀏覽http://learn/index/index的時候
說明OK
5 在瀏覽器上瀏覽http://learn/webtools.php的時候
這個頁面顯示上好像有些問題.和官方文檔上顯示出來的頁面樣子是不一樣的.
而後隨便點擊頁面上的鏈接,好比點擊了controllers鏈接,出現瞭如下的錯誤
看來確定在某個地方有問題了. 後來發如今瀏覽器上的瀏覽路徑發生了改變.變成了
http://learn/learn/webtools.php?_url=/controllers,
怎麼多出來了一個learn呢?應該只有一個纔對,因此
將地址改爲http://learn/webtools.php?_url=/controllers以後訪問頁面
能夠運行,沒有報錯,並且還多出來了controller的信息
可是頁面的樣式仍是不對.形成頁面樣式不對的可能的緣由通常是css和js的形成的
因此打開瀏覽器的開發者工具,查看css,js等資源請求的狀況,發現瞭如下的問題
看來是多出來的learn 惹得禍. 形成了資源沒有請求到.
6 解決方法.
閱讀了webtools.php的源代碼,發現它其實最終調用了
D:\github\phalcon\vendor\phalcon\devtools\scripts\Phalcon\Web\tools.php裏面的main方法
該方法中有如下的一段代碼,設置了url
$di->set('url', function () use ($config) {
$url = new \Phalcon\Mvc\Url();
$url->setBaseUri($config->application->baseUri);
return $url;
});
因此$config->application->baseUri這個值是個關鍵
而$config參數是哪裏來的呢,查找$config,找到如下的代碼
// Read configuration
$configPaths = array(
'config',
'app/config',
'apps/frontend/config'
);
$readed = false;
foreach ($configPaths as $configPath) {
$cpath = $configPath . '/config.ini';
if (file_exists($cpath)) {
$config = new \Phalcon\Config\Adapter\Ini($cpath);
$readed = true;
break;
} else {
$cpath = $configPath . '/config.php';
if (file_exists($cpath)) {
$config = require $cpath;
$readed = true;
break;
}
}
}
發現原來是從工程目錄下的config,app/config,apps/fontend/config目錄裏面的config.ini或config.php而來的
這樣打開工程learn的app/config/config.php文件.發現了
'baseUri' => '/learn/', 將它改爲'baseUri' => '/',
從新刷新頁面
這樣問題就解決了
D 開發環境IDE設置
1 Zend Studio
這樣配置完成了以後,就能夠代碼提示了
2 PhpStorm
代碼提示就OK了
設置devtools
這樣就能夠直接phpstorm中直接使用
這樣開發環境就都配置完成了.