Phalcon的学习篇-phalcon和devtools的安装和设置
A Phalcon在Windows上的安裝
1 從Phalcon for Windows下載適合的DLL,
這里的適合 主要看兩個(gè)方面
1 PHP的版本
2 線程是否是安全
3 編譯版本
如果不清楚這些信息的話,可以編寫一個(gè)phpinfo.php腳本
<?php
phpinfo();
?>
然后通過瀏覽器直接訪問該文件,就能知道以上的所有信息
例如本人機(jī)器的環(huán)境信息如下
2 將下載下來的DLL文件,復(fù)制到PHP的擴(kuò)展目錄去,本人的目錄是在C:endendServerlibphpext
3 在php.ini文件中 增加extension=php_phalcon.dll
4 重啟apache
5 驗(yàn)證是否安裝正確
B devtools的安裝(通過composer安裝)
1 在本機(jī)的某個(gè)目錄下比如說d:githubphalcon
增加一個(gè)composer.json文件
內(nèi)容如下
{
"require": {
"phalcon/devtools": "dev-master"
}
}
2 運(yùn)行cmd,進(jìn)入到該目錄比如說cdd:githubphalcon,運(yùn)行composer install,會生成vendor目錄,在vendor/phalcon/devtools目錄是很重要的目錄,他的結(jié)構(gòu)如下
3 設(shè)置環(huán)境變量,設(shè)置步驟如圖所示,設(shè)置的Path為;D:githubphalconvendorphalcondevtools
4 驗(yàn)證是否安裝成功
出現(xiàn)該圖所示的話,說明OK
C devtools的使用
1 在D:githubphalcon目錄下,建立一個(gè)可以使用webtools的項(xiàng)目learn
phalcon.bat project learn --enable-webtools
建立完成之后的工程目錄為
app目錄
public目錄
從上面可以基本判斷是一個(gè)MVC的框架
2 在apache上設(shè)置虛擬目錄
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文件中增加以下內(nèi)容
127.0.0.1 learn
4 重啟apache服務(wù)之后,在瀏覽器上瀏覽http://learn/index/index的時(shí)候
說明OK
5在瀏覽器上瀏覽http://learn/webtools.php的時(shí)候
這個(gè)頁面顯示上好像有些問題.和官方文檔上顯示出來的頁面樣子是不同的.
然后隨便點(diǎn)擊頁面上的連接,比如點(diǎn)擊了controllers連接,出現(xiàn)了以下的錯(cuò)誤
看來肯定在某個(gè)地方有問題了. 后來發(fā)現(xiàn)在瀏覽器上的瀏覽路徑發(fā)生了改變.變成了
http://learn/learn/webtools.php?_url=/controllers,
怎么多出來了一個(gè)learn呢?應(yīng)該只有一個(gè)才對,所以
將地址改成http://learn/webtools.php?_url=/controllers之后訪問頁面
可以運(yùn)行,沒有報(bào)錯(cuò),而且還多出來了controller的信息
但是頁面的樣式還是不對.造成頁面樣式不對的可能的原因一般是css和js的造成的
所以打開瀏覽器的開發(fā)者工具,查看css,js等資源請求的情況,發(fā)現(xiàn)了以下的問題
看來是多出來的learn 惹得禍. 造成了資源沒有請求到.
6 解決方法.
閱讀了webtools.php的源代碼,發(fā)現(xiàn)它其實(shí)最終調(diào)用了
D:githubphalconvendorphalcondevtoolsscriptsPhalconWeb ools.php里面的main方法
該方法中有以下的一段代碼,設(shè)置了url
$di->set('url', function () use ($config) {
$url = new PhalconMvcUrl();
$url->setBaseUri($config->application->baseUri);
return $url;
});
所以$config->application->baseUri這個(gè)值是個(gè)關(guān)鍵
而$config參數(shù)是哪里來的呢,查找$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 PhalconConfigAdapterIni($cpath);
$readed = true;
break;
} else {
$cpath = $configPath . '/config.php';
if (file_exists($cpath)) {
$config = require $cpath;
$readed = true;
break;
}
}
}
發(fā)現(xiàn)原來是從工程目錄下的config,app/config,apps/fontend/config目錄里面的config.ini或config.php而來的
這樣打開工程learn的app/config/config.php文件.發(fā)現(xiàn)了
'baseUri' => '/learn/', 將它改成'baseUri' => '/',
重新刷新頁面
這樣問題就解決了
D 開發(fā)環(huán)境IDE設(shè)置
1 Zend Studio
這樣配置完成了之后,就可以代碼提示了
2 PhpStorm
代碼提示就OK了
設(shè)置devtools
這樣就可以直接phpstorm中直接使用
這樣開發(fā)環(huán)境就都配置完成了.
總結(jié)
以上是生活随笔為你收集整理的Phalcon的学习篇-phalcon和devtools的安装和设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java拉丁正方形_LeetCode J
- 下一篇: 如何获取查看淘宝卖家旺旺手机号联系电话?