最热门的
MicroTemplate 是一个极精简的模板系统。它通过HTML的class和id属性输出相应的内容,比如你定义了一个<div class=”post cat_about” ></div>,模板会根据class属性查看系统中有没有定义post类或者函数,并根据相应规则添加到该节点内容。 这样做的好处是语义化html元素,使得前台和后台的形式及内容统一。更符合web标准。 相应代码稍后给出,敬请期待。 [更多]
WebOS是一个基于框架的WEB操作系统也是一个通用的互联网创作系统。包括前端和后台技术都采用成熟的框架来实现也包括一些基本功能的实现。可以使你不必关心技术实现专心做好内容。采用通用的数据结构方便扩展。灵活的数据库、表单、分类机制,几乎可以完全依靠本系统实现网站设计,但是本系统又不是传统的建站程序。因为我们关心技术,用户关心内容。采用面向对象的方式向用户展示数据或使用数据。比如你需要发布一个产品,你只需要定义好产品的属性,然后再发布产品的时候,这些数据自动建立数据对象并持久化。用户可以自定义数据库、文件、表单、模板、样式。 [更多]
WordPress3.0已经支持多站点了(多个站点公用一个WordPress程序),而且支持泛域名解析的子域名模式,通过插件还可以绑定多个独立域名。这样我们可以利用WordPress管理多个用户、站点及域名等。 要完成多域名多站点功能,需要2个经典的WordPress插件。手动实现比较麻烦。 wp multi-site enable 开启WordPress多站点功能。 wp domain mapping 域名绑定。 首先,从WordPress官网下载或在你的WordPress后台搜索 wp multi-site enable。安装并启用该插件。启用成功后在设置选项菜单里找到 改功能。进入设置页面,如果你的主机或域名提供商不支持域名泛解析则会有错误提示。 启用WordPress多站点功能后,再安装wp domain mapping。在设置好你的ip地址或者cname地址。然后就可以绑定域名了 [更多]
等了一个多月,WordPress 3.0中文版终于发布。不过这次发布的版本是直接跳到了WordPress 3.0.1,而不是WordPress 3.0。不过这个版本的还有些问题没有解决,中文字体过小。译者准备在下个版本中解决。又是这样。不过你仍然可以下载WordPress 3.0.1的非官方中文版。 官方中文版首页 | 非官方中文版首页 [更多]
最近论坛有问起SmartAjax类库的使用,其实SmartAjax类库已经被ThinkAjax类库取代了,所以说两者的用法是类似的,这里举个比较简单的例子。 在页面输入用户名,然后通过Ajax方式发送到后台,并且在页面动态弹出Hello提示。 模版文件主要内容如下: <html:import type=“js” file=“Js.prototype” /> < html:import type=“js” file=“Js.Ajax.ThinkAjax” /> function sendHello(){ ThinkAjax.send(‘__URL__/hello/’,‘ajax=1&name=’+document.ge [更多]
ThinkPHP是支持多语言和多模版的。多语言的支持是通过语言包的方式,每个项目可以定义自己的语言包,其文件存放目录是在项目目录下面的Lang目录。 语言文件的命名方式 采用浏览器的语言命名(全部小写)定义,如: 简体中文 zh-cn.php 繁体中文 zh -tw.php English (United States) en-us.php 语言包的定义方式 为了不和系统的配置常量冲突 建议语言的定义常量采用“_”打头(但是这个没有限制,只要不产生冲突),例如: define(‘_SUCCESS’,‘操作成功’); define(‘_ERROR’,‘页面出错’); 然后在Action类里面使用定义的语言常量就可以了。 例如,示例代码: $result = $dao->save($user) [更多]
ThinkPHP框架的项目配置文件支持很多格式,参考安装和配置一文。 但是最终系统会生成一个缓存配置文件,这个文件格式是PHP定义格式,下面的配置说明以该文件为示例来说明。该配置参考针对0.9.6以上版本(因为之前的有些配置项目已经无效)。 // 调试设置 DEBUG_MODE //是否启用调试模式 WEB_LOG_RECORD //是否记录日志 LOG_FILE_SIZE //日志文件大小 ERROR_PAGE //错误定向页面 ERROR_MESSAGE //错误提示信息 SHOW_RUN_TIME //是否显示运行时间 // 路径设置 TMPL_PATH //模块路径 HTML_PATH //静态页面路径 // 框架设置 DEFAULT_MODULE //默认模块名称 DEFAULT_ACTION //默认操作名称 DEFAULT_TEMPLATE //默认模版名称 VAR_LANG [更多]
这一篇主要讲述在ThinkPHP框架中如何给应用添加权限认证的功能。 ThinkPHP内置了RBAC(基于角色的权限认证)插件,可以很方便地给完成应用的权限认证功能。 ThinkPHP权限认证的设计原理 基于RBAC插件的权限认证需要用到三个关键数据表,通常验证工作会结合你需要验证的数据表(例如User表),RBAC组件默认会使用user表来进行验证,但是并不限制验证数据表,你一样可以使用RBAC组件来认证其他数据表。 ThinkPHP的权限授权和认证都是基于权限节点(也称之为管理节点),节点数据表的数据结构如下: CREATE TABLE `think_node` ( ` id` smallint(6) unsigned NOT NULL auto_increment, ` name` varchar(20) NOT NULL, ` title` varchar(50) default [更多]
我们已经知道了如何通过ThinkPHP来完成表单提交和处理,那么如何在表单中增加文件上传功能呢,通过ThinkPHP来添加文件上传功能非常简单,甚至不影响你的表单处理。 这其中用到的主要是文件上传类UploadFile,使用ORG类库包中的 Net.UpdateFile类,ThinkPHP内置的Action操作里面(主要是insert和update操作,其他操作可以相应实现)实现了自 动识别是否存在文件上传,如果存在会自动进行处理。当然,是有前提的,就是必须按照ThinkPHP提供的附件数据结构。 内置的附件数据结构是一个单独的数据表,结构如下: CREATE TABLE `thinkphp_attach` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `type` varchar(255) de [更多]
前面我们介绍了如何用ThinkPHP创建一个Hello,PHP!应用,下面我们就来完成一个表单的提交和处理。 这个示例项目,我们需要和数据库打交道,因此会涉及到Vo类和Dao类的定义。 另外,项目入口文件里面多了一行: // 加载数据库配置文件 require(‘./config.php’); 用户加载数据库配置文件,请修改该配置文件里面的参数满足你的测试环境。 假设我们以用户注册表单为例,项目名称为Form,用户的数据表结构如下: CREATE TABLE `think_user` ( ` id` int(11) unsigned NOT NULL auto_increment, ` name` varchar(30) NOT NULL default ”, ` nickname` varchar(50) NOT NULL default ” [更多]