PHP MVC、模板引擎及权限设计
本文转自"PHP爱好者":http://www.phpfans.org/?cat=1
一般用到“引擎”两字都会感觉比较高级,"模板引擎"这四个字听起来很高深的样子,类似游戏3D引擎、Zend引擎等,其实都是唬人的,骗外行人的。所以在我初学PHP的那会,也因为这四个字导致了我觉得很难而没有去看他到底是什么样一个东西,直到很长时间以后使用Smarty才真正了解模板引擎的原理和作用。Smarty(http://smarty.php.net),PHP官方模板引擎,看名字给人感觉应该很快,其实很慢,即使他有预编译(另一个看起来很高级的名词,同样也是唬人的,下面我会讲到这个)。[注:我刚才点开Smarty发现他说他已经不是一个PHP子项目了,汗,看来确实唬人,哈玩笑^_^]。其实在PHP里,模板引擎扮演着View(其实通俗说就是页面,看英文有时候会给人很高级的错觉)的角色,这是一个很重要的角色,因为用户的交互啊,界面效果啊等等都在这里,这是最终用户看到的你的系统的样子。
开头就说模板引擎,只是跟大家说明一下这个东西其实没有什么难理解的,明白其原理以后你会发现他是纸老虎,所以你要有信心你会很轻松看完此文。
为了更好的说明模板引擎所扮演的角色,我不得不也谈谈MVC。这个话题恐怕互联网上谈及的很多,我也只能根据我的理解来描述,可能有不恰当的地方,欢迎讨论。通常的MVC是指Model、View和Controller。也就是模型、视图和控制器。我理解MVC也是在学了PHP不短时间后了,当时请教老廖(http://qeephp.com),才恍然大悟。
先来说说Controller,也就是控制器,控制器是个什么东西呢?在PHP里他是扮演一个接收用户请求,把用户请求定位到指定数据模型的角色。解释起来感觉不是很好解释,来看一个简单的留言本的例子:
01.//用户请求可能是 http://www.example.com/guest.php?module=list
02.$module = $_GET['module'];
03.
04.switch ($module) {
05. case 'list':
06. require_once 'list.php';
07. break;
08. case 'add':
09. require_once 'add.php';
10. break;
11. case 'del':
12. require
相关文档:
最近在写一个 前台基于 javascript. 的客户端 服务器端PHP 的分析系统。
原先计划使用XML为数据交互基础 但是最终还是选用较轻量级的JSON最为数据交互基础。
首先介绍json的格式
json 说简单其实是一种数据格式 更简单的可以看做简单的数组。
实例 (一)
<script>
var jsonArray=[
......
任务:根据输入的域名 统计以下三个数据,第一:全球排名;第二:用户量(月平均值);第三:
人均页面访问量(月平均值)。
思路:使用get_file_contents提取出网页内容,再根据正则表达式进行内容的筛选。
核心函数如下:
<?php
/*
the function of getting aleax data
@param string partten  ......
本从用的是Zend Debugger
在调试counter1.php的时候出现了乱码错误
找到了问题的原因
zend debugger默认的编码为utf-8
而php的默认编码方式为gbk
当初配置php开发环境是为了部署discuz论坛
所以就设置成了gbk
这便是原因了
统一一下
都用utf-8
window-preferences-general-workspace
text-file-encoding: utf-8
......
我在上一篇文章中讲到使用javascript做集成表单验证的方法,对于客户端验证已经足够,但好的表单验证应同时在客户端和服务器端进行——这正是写本文的目的。
如果采用一般的验证方法应该怎样写呢?
if ($_POST['some'] 不满足 condition) {
& ......