Phalcon和devtools安裝設置 Phalcon的學習篇-phalcon和devtools的安裝和設置

Phalcon的學習篇-phalcon和devtools的安裝和設置

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中直接使用

 

這樣開發環境就都配置完成了. 

相關文章
相關標籤/搜索