压文诗–刘昚虚:道由白云尽,春与青溪长
前言: 今天是我入职新公司的第一天,用的是phalcon框架,说实在的,我从来没接触过,一脸懵逼,第一天一脸懵逼的看了一下,新东西咱们就需要从安装开始啊,借此机会我来记录一下
安装
phalcon这个框架啊,不同于咱们以往的框架,是以扩展的形式,所以就需要安装扩展,具体需要什么扩展呢,两个扩展(phalcon/psr)
php在window下安装扩展有以下几点
踩的一个坑,我当时就是phalcon版本和php版本没对应好,就一直报错,所以看到我的博客的要注意一下
首先我们要去pecl.php.net 中找到扩展(其中就有几点需要注意的操作系统位数/线程是否安全/php版本)
其次,windows下我们下载下来的扩展是xxx.dll,我们复制到php源码包中的ext目录中
最后在php.ini中我们把扩展加载到extension=xxx.dll
对照phalcon就是 extension=php_phalcon.dll extension=php_psr.dll
最后的最后,你都安装好了,你就打印一下phpinfo(),有phalcon和psr就算安装成功
初步使用
我是开始接触框架,就想初步打印出来点东西,对于这个框架也是
踩坑原因,我最开始就是用http://localhost/php/phalcon/single/这种形式访问就会出这个错误,我一直没找到解决问题所在,后来我尝试的给了一个域名,就解决了
Mod-Rewrite is not enabled
Please enable rewrite module on your web server to continue
server {
listen 80;
server_name localhost.dev.com deev.com;
root "C:/phpstudy_pro/WWW/phalcon/single/public";
location / {
index index.php index.html error/index.html;
error_page 400 /error/400.html;
error_page 403 /error/403.html;
error_page 404 /error/404.html;
error_page 500 /error/500.html;
error_page 501 /error/501.html;
error_page 502 /error/502.html;
error_page 503 /error/503.html;
error_page 504 /error/504.html;
error_page 505 /error/505.html;
error_page 506 /error/506.html;
error_page 507 /error/507.html;
error_page 509 /error/509.html;
error_page 510 /error/510.html;
autoindex off;
}
统一说明一下,实话讲这两个参数我不知道是做什么用的,但是这两个判断解决了一个问题,
我当时是遇到这样一个问题,就是我域名访问默认的控制器可以,
但是访问其他的控制器的其他方法不可以,
我在网上找了找,发现加上这两个判断可以解决**
#这个是重点
if (-f $request_filename) {
break;
}
# otherwise rewrite it 这个也是重点
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?_url=$1 last;
break;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
这个坑我就解决了,我用localhost.dev.com就打印出来了,说实在的,我确实没闹明白,不过我根据报错觉得是重写机制的问题,这里的问题我确实没想明白,容我想明白了,我在补上
Congratulations!
You're now flying with Phalcon. Great things are about to happen!
This page is located at views/index/index.phtml
目录结构
我前面写的这些,初次使用的同学可能会有一个疑问,没有目录结构啊,跟主流的tp,laravel之类的不一样啊,这里我说一下我自己初步的理解,其实phalcon也有目录结构,也有MVC,也有依赖注入,也有异常处理,也有ORM等等,只不过它的绕了一个弯弯,什么弯弯呢,就是它给你提供了一个工具phalcon-devtools可以命令行直接创建,也的太长看着费劲,我再写一章