基本功能: 路由/中间件/控制器/控制台/组件/配置加载/输入&输出.
框架最初是为了满足公司业务需求一步步造出来的, 但是从一开始就很独立的没有柔任何业务代码进去, 只保留了基本功能, 除此以外的功能全部需要自行扩展, 因为我觉得框架提供的功能越多学习和推广的成本就越高, 出现 Bug 的几率也就越高, 反倒不如都拆分成组件, 而且 Composer 那么好用, 扩展起来分分钟的事.
所以没有自带模板引擎, 需要使用组件功能自行扩展, 只需要继承并实现 Component
接口的 getAccessor
和 register
方法就可以使用, 目前我提供了 Smarty, Blade, SPA 三种模板扩展.
也没有自带 ORM 组件, 但是这里提供一个扩展 medoo-model 这是一个轻量级的数据库访问封装, 不管是名字还是功能我都非常喜欢?, 也可自行扩展 Eloquent ORM
或 Doctrine ORM
稍后我会给出一个 Eloquent ORM
的封装扩展给喜欢的人使用
大部分都是在 Windows 下开发, 但是很多优秀的扩展和特性不被 Windows 支持,
同时很多人对 *nix 操作不熟练, 并且 vagrant 有个问题(其实是 VirtualBox 的问题)就是文件锁, 有时会导致 svn 无法提交/更新.
这里尝试给出另外一个方案, 个人觉得可行性还是很大的.
本文记录的方案只是个预案, 还没在公司实际推行.
本文演示环境使用 Ubuntu Server 14.04 和 Windows7
目前支持的有 CHD/CMCT/TTG/OPENCD, 其它 PT 我没有账号无法确定适配, 因为 XML 格式可能不一样.
git clone https://github.com/fengqi/transmission-rss.git transmission-rss
cd transmission-rss
$rssLink = ''; #点击 chd 里的 [RSS下载], 把订阅地址填进去
$server = 'http://127.0.0.1'; # 默认 127.0.0.1
$port = '9091'; # 默认 9091
$rpcPath = '/transmission/rpc'; # 默认 /transmission/rpc
$user = ''; # 用户名, 如果有设置, 填进去
$password = ''; # 密码, 如果有设置, 填进去
sudo crontab -e
写入以后内容
# Transmission RSS 下载
*/10 * * * * /opt/bin/php /opt/transmission-rss/rss.php
php 的路径(使用命令: which php 获取), 和 clone 的项目路径根据自己情况修改下.
其他资源: Transmission ADD-ONS
]]>原文地址:PHP中的traits
]]>IE6的SP1里就带了对httponly的支持,所以相对还说还是些安全性。
PHP中的设置
PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
-----------------------------------------------------
session.cookie_httponly =
-----------------------------------------------------
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:
-----------------------------------------------------
// or session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
?>
-----------------------------------------------------
Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为:
-------------------------------------------------------
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
-------------------------------------------------------
对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:
-------------------------------------------------------------
-------------------------------------------------------------
首先下载安装脚本, 使用curl下载, wget也可以, 如果没有这两个命令请自行安装:
cd /usr/local/php/bin/
curl -o go-pear.php http://pear.php.net/go-pear
curl -o go-pear.php http://pear.php.net/go-pear.phar # 如果你的php版本高于php5.3, 执行这条
安装:
php go-pear.php # 回车, 会提示选择安装的东西, 直接回车, 安装全部, 若后面有要选择y/n的, 输入y回车
]]>百度, google后, 发现原因还是...字符编码问题.
我们常用的有utf-8,gbk两种编码, php内部操作哪种都无所谓, 但是如果涉及到实体文件就必须注意一点:
文件名编码要和php环境所在系统保存一致
比如我是win下用, win肯定是gbk编码了, 所以文件名转换为gbk后, 再读写操作就ok了
]]>好了, 直接贴代码:
]]>