A Phalcon在Windows上的安装php
1 从Phalcon for Windows下载适合的DLL,css
这里的适合 主要看两个方面git
1 PHP的版本github
2 线程是不是安全web
3 编译版本apache
若是不清楚这些信息的话,能够编写一个phpinfo.php脚本json
<?phpwindows
phpinfo();浏览器
?>安全
而后经过浏览器直接访问该文件,就能知道以上的全部信息
例如本人机器的环境信息以下
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中直接使用
这样开发环境就都配置完成了.