关于`phalcon`的初步认识和理解(一)

压文诗–刘昚虚:道由白云尽,春与青溪长

前言: 今天是我入职新公司的第一天,用的是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可以命令行直接创建,也的太长看着费劲,我再写一章

你可能感兴趣的:(phalcon)