以下内容的最初来源是我对于HFICampus的新的权限系统的设想,希望能在性能和权限控制的细粒度之间尽可能达到一个平衡。在与Steven交流之后,我将我的设想和与Steven的聊天记录整理,并写成了这份Markdown。
role,顾名思义,是用来设置用户“角色”的。为什么不说“组”呢,因为我希望这个“角色”是比“组的成员”更为通用的东西。
/* | |
* Created by SharpDevelop. | |
* User: halfcoder | |
* Date: 2012/12/16 | |
* Time: 15:03 | |
* | |
* To change this template use Tools | Options | Coding | Edit Standard Headers. | |
*/ | |
using System; | |
using System.Collections.Generic; |
本来我是准备把设计的工作也交给你完成的,但是发现不大现实,毕竟你编程的时间不长,对于一些架构方面的东西不大了解。虽然我在这方面也只是半吊子而已,但好歹也做过一些设计层面的东西,姑且在此提出一个设计方案。如果你有任何意见或者建议,可以随时联系我。
可能你会看到我们 某个技术团队 所写的PHP项目中,多用了CodeIgniter框架。这个其实主要是因为我一开始跟关道他们介绍PHP开发的时候说的是这个框架。 但是,在这个项目中,我不准备使用框架,而是使用原生PHP。 可能这样会使得开发过程中需要自行注意许多方面的问题,而这些问题本来已经在框架中得到一定的解决了。但是我认为,这样能够更好地使你深入PHP开发,而不只是会用框架而已。等到你的代码写到一定程度,你可以与现有的框架做对比,由此发现使用框架的利弊。甚至你也可以对自己的代码进行一定的抽象,做一个自己的框架。
prepare()
函数避免SQL注入<?php | |
/** | |
* 构造文本比较的显示结果的函数 | |
* | |
* @version 0.1 | |
* @param array $changes 比较得到的改动的集合 | |
* @param array $base_content 基准内容按行分隔得到的数组 | |
* @param array $changed_content 修订内容按行分隔得到的数组 | |
* @return array 构造显示结果的集合,每个元素为array(改动类型或者"skip", 基准内容中的行号, 基准内容中的行的内容, 修订内容中的行号, 修订内容中的行的内容) | |
*/ |
// ==UserScript== | |
// @name 400gb.com Ads Remover | |
// @description Yes | |
// @version 0.1 | |
// @author halfcoder | |
// @namespace http://github.com/halfcoder | |
// @include http://www.400gb.com/file/* | |
// ==/UserScript== | |
setTimeout(function() { |