简介: CorePHP框架是一个快速,安全,灵活的php开源框架,主要是为了简化和快速开发小型项目和开源系统二次开发而诞生。它既可以完美的支持MVC模式,又可以不受限制的支持传统编程模式。它是一个轻量级的php框架,同时也是一个实用的php工具包。
特点: 快速自动加载功能,绝不把时间浪费在加载不必要的模块上。它具有强大的缓存支持,支持html静态缓存、模板缓存和二级局部缓存,还支持Memcached内存缓存。它明确的设计能与 AJAX 一起高效率的工作。安全它包括了输入验证,输出过滤,SQL 注入和跨站点脚本的预防。灵活框架采用松耦合,你可以自由添加自己所需要的功能类库,自由配置框架各项参数,包括url解析、模块路径、命名规则,等等等等。
支持6种url格式 URL_REWRITE_ON 是否开启重写,偶数带有执行文件 奇数因此执行文件
0 index.php?g=group&m=module&a=action
1 ?g=group&m=module&a=action
2 index.php/group/module/action
3 /group/module/action
4 index.php?r=/group/module/action
5 ?r=/group/module/action
在Config类中有框架的所有配置项,并做了初始化,当用户自己定义的config.php文件内定义了新的属性则,覆盖Config全局类中的属性。配置项相当的灵活可以配置url规则中的分隔符,分组分隔符,数据库配置,模板配置,缓存配置等等。
模型链接采用根据数据配置自动单例实例化,也就意味着如果你的程序只有一个数据库,那么在你执行程序的过程中只会有一个数据库链接,避免了数据库重复链接对系统造成的开销。数据库的链接方式可以是pdo misqli 也可以是旧的mysql接口。只要一个配置任意切换,无需调整任何代码。如果有需要可以自行添加接口驱动。只需要放在core/db文件夹下就可以了。关于类中方法的命名,可以随便拷贝一份现有的程序稍加修改就可以。
数据验证是模型中必不可少的一环,验证规则集成了日常应用的所有规则。比如唯一、邮箱、数字、密码和重复密码是否一致等等。
缓存分为数据缓存和页面缓存两种,数据缓存就是将数据库中的数据缓存起来避免多次读取数据库,在规定的时间内,数据将在缓存中读取不会去查询数据库,加快执行效率。
页面缓存则是倾向于cms或其他发布系统开发中,很多时候页面更新频率不是很高,没有必要去经常读取数据库,或者说连链接数据库都不需要,这时候页面缓存就非常的必要了。开启页面缓存,设置缓存时间在规定时间内页面会直接输出生成的html。
对于页面请求的处理做了相当全面的处理,如获取完整url,获取当前执行文件,获取请求参数,获取ip地址,等等
一个框架如果没有模板处理如何可以做到mvc,对于模板CorePHP采用了简洁写法。
{$var}
{date('Y-m-d')}
{loop $array $val}
html code
{/loop}
这种简洁的语法避免了学习模板语法规则,造成的学习难度。当然简单并不意味着少,在模板中你可以尽情的使用变量、数组、常量、静态类、静态方法、系统函数等。
系统对错误做了处理,很多会暴露数据表名,文件路径的危险错误都做了处理!例如表名会显示[pre]tablename,隐藏了表前缀。开发中的异常error错误类会自动捕获处理后输出错误信息,是信息易于阅读,有更加安全。程序自动发布时你可以关闭debug。这样程序会阻止所有异常错误。
很多功能我们习惯写成函数,调用起来十分方便,大大提高了开发效率。lib里有丰富的功能函数,还有常用类库。例如邮件发送,图片上传,验证码,地理位置查询,字符串处理、文件处理、压缩解压、权限验证RBAC等等。
1.x是兼容php5.3之前的版本,因为现在大多数服务器都采用了php5.3 5.4 5.5等后续版本甚至有写服务器都开始使用5.6了所以,开发了corephp2.x,为什么是5.3+,因为php5.3是一个历史性的版本,它提出了命名空间以及一些面向对象的新特性,因此有必要为5.3+版本开发一个新版本的corephp了,corephp2.x便是此大环境下应运而生的。在命名上没有参考thinkphp3.1 3.2的命名方式,版本太接近容易产生歧义,1.x和2.x的版本命名方式。
关于如何选择1.x还是2.x,很简单,如果你的php是5.3+请选择CorePHP2.x反之低版本php请选择CorePHP1.x
感谢canphp thinkphp yii 这些优秀的框架,是你们给了我创作的灵感。再次特别感谢canphp 在框架的目录结构上延续了canphp的方式。从corephp1.x开始corephp的目录结构一直延续与canphp相同的结构,因为这样很简洁,我觉得一个框架core lib ext三个文件夹足矣。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型