ThinkPHP示例之 字段映射

要使用模型的自动创建create方法的话,ThinkPHP的表单名称就是数据表的字段名称,如果担心这样不够安全,可以定义字段映射,来隐藏实际的数据表字段名称。 下面的例子就运用了字段映射定义。请注意看表单名称和字段的对应关系。 标题: 邮箱: 内容: 验证码: 输入对应的数字 示例源码 控制器IndexAction类 [code] <?php class IndexAction extends Action{ // 首页 public function index(){ $Form = D("Form"); $list = $Form->findAll(); $this->assign('list',$list); $this->display(); } // 处理表单数据 public funct...

ThinkPHP的html:list标签简要用法及注意事项

<html:list id="checkList" name="user" style="list" checkbox="true" action="true" datasource="list" show="id:编号|8%,title:标题:edit,content:内容,create_time|toDate='Y-m-d H#i#s':添加时间,status|getStatus:状态" actionlist="forbid|resume:禁用|恢复,edit:编辑" /> ThinkPHP的html标签库中的list标签功能强大,但没有文档.只好看源码了. 大概如下: datasource和show必须要, datasource是数据源名称, 也就是assign所指向的变量, show是最复杂的, 等会再讲 pk是主键名, 默认为id;style是css样式的class, 因为整个list标签会被编译成table, 比如这里为mylist, 那么样式表中的table.mylist样式就会用在这; checkbox是否显示复选框; action是否显示操作列 s...

ThinkPHP与RBAC(基于角色的权限管理)

访问控制可以简单表述为:判断谁(Who)对什么(What/Which)进行怎样(How)的操作是否为真。对于一个系统来说,有必要建立一个良好的访问控制系统,对访问权限进行合理的分配,用于保证系统的安全性、可靠性。 传统的访问控制技术主要有:自主访问控制(DAC)、强制访问控制(MAC)和基于角色的权限访问控制(Role Based Access Control,简称RBAC)。 DAC和MAC访问控制技术均是直接对用户本身进行权限的管理,细度太小。当用户数量庞大并且用户之间关系复杂时,主体和客体关系的匹配及权限的管理就变得复杂起来。并且权限的变更将导致权限分配列表的变更,此时可能会遭遇到很大的困难,甚至于要修改系统的源代码。 而RBAC访问控制技术很好地解决了这一问题。在RBAC中,用户的权限不是在用户本身上进行管理的,用户的权限是由用户所处的角色所决定的。在权限管理中,通过角色这一桥梁将用户与权限联系起来。用户和角色、角色与权限是一个多对多的关系。 与RBAC访问控制相关的概念有: 用户(User):一个具有唯一标识符的用户,与权限相分离,只能通过所属的R...

Access Control DAC MAC RBAC

访问控制 访问控制是指控制对一台计算机或一个网络中的某个资源的访问。没有它,所有人都可以访问任何资源。有了访问控制,用户在获取实际访问资源或进行操作之前,必须通过识别、验证、授权。 换言之,访问控制控制着一个主体(subject)可以访问哪些对象(objects)。主体和对象是访问控制模型和技术中的两个重要术语。主体是指可以授予或拒绝访问某个对象的人或事物,如用户,程序,系统进程。对象的例子如文件、打印机、程序、系统进程等。 访问控制模型 开发者需要在他们的软件和设备中实现访问控制功能,访问控制模型为之提供了模型。有三种不同的模型:DAC,MAC,和RBAC。 Discretionary Access Control(DAC) 主体对它所属的对象和运行的程序拥有全部的控制权。例如,Alice拥有一个叫mywork.doc的文件。她许可Bob和Sales group的成员来读这个文件,除此之外别的人都不可以。改进的DAC实现提供了一个基于“need-to-know”的访问授权的方法,默认拒绝任何人 的访问。访问许可必须被显式地赋予访问者。 被某个用户执行的程序拥有与该用户...

Five Best Remote Desktop Tools

Whether you want quick access to your home computer from anywhere in the world or you're the go-to IT person for your friends and family,remote desktopapplications are a godsend. Even better: They're easier than ever to set up. With the right remote desktop tool, you can access your home computer as though you're sitting right in front of it— no matter where you are, no matter what you're doing. LogMeIn (Windows/Mac) LogMeIn was one of the first popular remote desktop solutions aimed squarely ...

13 Most Useful Free Scripts That You Should Know

Chevereto Chevereto is a free script, written in php, that lets you set up your own image hosting on your web server. It is your hosting and your rules, say goodbye to the closures and restrictions. Currently the code is very tender, and is in its early versions. osTicket osTicket is an attractive alternative to higher-cost and complex customer support systems; simple, lightweight, reliable, open source, and easy to setup and use. The best part is, it’s completely free. ...

交互设计的方法

长期以来我就有对几年来交互设计的心得进行总结整理的想法。回到中国来亲身体会到不少同行,主要是交互设计师和视觉设计师对于交互设计的困惑,以及其他行业对于交互设计的误解和滥用。后来我在小范围内开设了一个关于交互设计的讲座;现在把它整理成文,希望与同行切磋,共同进步。 这篇文章是我几年来在美国从事交互设计工作的一个经验总结。当时我们遵循以用户为中心(User-Centered-Design, 简称UCD)的设计原则,每一个项目都是不折不扣的按所有UCD的步骤进行。下面总结的交互设计的方法,是从UCD的过程中提炼出来,也就是说,同样适用于任何非UCD的设计过程。 交互设计的流程 如果一提到交互设计,你就想到画线框图或原型图,那你只对了五分之一。交互设计是一个过程,从开始到结束有一套系统的流程。原型图只是其中的一个环节。 当接到一个设计项目,怎么开始?都应该做哪些工作?怎样尽可能的保证交付物满足既定的功能以及用户体验层面的易用性? 第一步,是任务分析,列出界面所要完成的所有任务。第二步按各任务确定页面流程,建立信息架构。接下来是创建统一的页面布局包括分区等。然后在页...

Pass variable to javascript use javascript

Client wants add following tracking code on website: [code] <script type="text/javascript" src="http://www.demo.com/show.php?mpt=[CACHEBUSTER]&mpvc="> </script> <noscript> <a href="http://www.demo.com/show.php?mpt=[CACHEBUSTER]"> <img src="http://www.demo.com/show.php?mpt=[CACHEBUSTER]" alt="Click Here" border="0"> </a> </noscript> [/code] To ensure accurate tracking, the...

为ThinkPHP添加web services

给ThinkPHP应用程序添加web services,首先需要启动soap模块,这里仅需要修改php.int文件即可,extension=php_soap.dll 接着编写服务类。这里单独建立一个Webserver文件夹,把所有的web服务类都放置在里面。这样做的好处不言而喻,一方面为了组织的方便,另一方面可以实现团队协作开发,相互之间不会有过多影响。如下图所示: 在Webserver文件夹下面,我们可以编写各种业务逻辑代码,这里仅是演示之用,所以非常简单。当然了,你还可以在里面实现更为复杂的逻辑。 [code] class Printers extends Base { public function printme() { return 'Hello'; } } [/code] 现在,我们就可以实现web服务端了。在IndexAction.class.php文件里面编写一段web服务端代码,启动web服务。 [code] class IndexAction extends Action{ public func...

How to add stock chart and quote from Yahoo

In this article, I will tell you how to display  stock chart on your homepage,  and how to access stock quotes with a 20 minute delay from the Yahoo finance service. stock chart It's easy to get stock charts from Yahoo finance and display on your web. For example, this is the last three months of IBM stock: [code]<img src="http://blog.hao909.com/wp-content/uploads/as_image/2011/03/194318dpk.jpg" />[/code] The URL also starts with a base URL and then adds a stock symbo...