[TOC]
1、介绍
phalcon是一个省内存,运行高效的php的C扩展框架。
phalcon是一款国外的php框架,它和国内的鸟哥开发的yaf框架很像,需要先安装相关的php扩展,而框架是松耦合的,其包含的框架相关的类库全部借由php扩展文件注入到php的原生类库中,所以这个扩展文件可以说就是这个框架。
而如何借助这个框架开发项目,首先应该组织一些目录结构和php代码,像thinkphp,laravel这类非扩展框架一样,来确定一些固定的代码执行流程,比如,常量和环境变量定义;配置【db,缓存,文件,路由,等】文件加载,类的自动加载;命名空间注册,服务类注册,路由解析等,直到我们可以在控制器里开始我们的业务代码。
官方有推荐的目录结构,当然我们也可以完全用自己的习惯,通过php扩展自带的类库,来编写代码,组织目录来完成这一任务,该学习系列以官方推荐为主,主要是学习思想和快速上手使用。
开发环境
phpstudy配置
php7.3.9
nginx1.5.11
mysql8.0
windows10
2、准备
当前流行的版本主要是phalcon3.4
和phalcon4.0
。
对php的版本要求最好是7.2以上。
phalcon
的扩展依赖于psr
扩展,我们最终要下载或者编译安装这两个扩展。
这里默认,
php的运行环境已经搭建好【建议国产的phpstudy】;
php命令已注册全局,命令可使用【将php.exe的物理路径加入系统环境变量PATH】;
composer已安装,命令可使用【参考composer中文网教程】;
还没有搭建好的,网上有很多搭建环境的教程参考,不再赘述。
使用phpinfo()
查看php的属性,看其中两项属性,其决定了对扩展文件版本下载的要求,window下的扩展文件会带这两个属性;如图
第一个属性Architecture
是php运行环境的操作系统架构,通常只有64位和32位区分,x64代表64位,x86代表32位,这里是x64;
第二个属性PHP Extension Build
是php的构建版本,通常只有TS【thread safe】和NTS【none thread safe】的区分,这里截取网上看到的一位网友的解释,可以帮助我们理解区别,对错暂时不能完全判断,参考看
Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。从2000年10月20日发布的第一 个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系 统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。一般我们会把 PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的PHP扩展是以Linux/Unix的多进 程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。因此在IIS下CGI模式才是PHP运行的最安全方式,但CGI模式对于每个 HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。
为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解 决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了 CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。
因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。
转自 https://www.cnblogs.com/mrtwenty/articles/3550133.html
扩展文件下载
psr:https://pecl.php.net/package/psr
phalcon:https://github.com/phalcon/cp...
其中列出了phalcon的各个版本tags,我这边下载的是v4.0.6
安装
找准符合自己的扩展版本,我当前的环境是x64 nts,所以对于的扩展为
phalcon:https://windows.php.net/downl...
解压后将扩展文件php_psr.dll
和php_phalcon.dll
放在php.exe
同级目录下的ext
目录下,编辑php.exe
同级目录下的php.ini
文件,在扩展配置区域加上
extension=php_psr.dll
extension=php_phalcon.dll
重启nginx,刷新phpinfo()
页面,检索phalcon
,成功;
phalcon框架安装成功!!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。