HDR

HDR

Yii使用数据库控制的CMenu菜单

数据库结构

CREATE TABLE IF NOT EXISTS `menu` (
`menu_id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`date_added` datetime NOT NULL,
`last_updated` datetime NOT NULL,
`status` enum(‘active’,’inactive’) NOT NULL,[……]

阅读全文»

Yii使用PHPMailer发送邮件

使用方法
作为普通component:
利用这个例子,使用SMTP作为发送的方法,在控制器创建一个component:
<?php
$message = ‘Hello World!’;
$mailer = Yii::createComponent(‘application.extensions.mailer.EMailer’);
$mailer->Host = <your smtp host>;
$mailer->IsSMTP();
$mailer->F[……]

阅读全文»

Yii简单的用户授权系统

数据库

首先在user表创建一个新的字段(integer 类型),字段名 ‘accessLevel’,它定义了用户的访问权限

扩展 CWebUser 类

在配置文件(一般为 protected/config/main.php)中添加(或修改为)以下代码

‘components’=>array(
‘user’=>array(
//告诉应用程序使用自己的 WebUser 类,而不是默认的 CWebUser[……]

阅读全文»

Yii实现MySQL多库和读写分离

前段时间为SNS产品做了架构设计,在程序框架方面做了不少相关的压力测试,最终选定了YiiFramework,至于为什么没选用公司内部的PHP框架,其实理由很充分,公司的框架虽然是”前辈”们辛苦的积累,但毕竟不够成熟,没有大型项目的历练,犹如一个涉世未深的年轻小伙。Yii作为一个颇有名气开源产品,必定有很多人在使用,意味着有一批人在维护,而且在这之前,我也使用Yii开发过大型项目,Yii的设计模式和它的易扩展特性足以堪当重任。

SNS同一般的社交产品不同的就是它最终要承受大并发和大数据量的考验,[……]

阅读全文»

Yii框架整合Ucenter更新与增强

在我前面的博文中提出了整合ucenter到yii应用的方法,还有一些不完美,那就是,登录、退出需要手动输出js到页面上来通知其他应用。那么如何做到自动处理,而不需要特别照顾?我发现只需要继承CWebUser类,实现自己的WebUser类,并覆盖登录和退出两个事件即可,不多说,上代码:

<?php
class WebUser extends CWebUser
{
public function afterLogin($fromCookie)
{
par[……]

阅读全文»

程序员对美工的5大经典牢骚

就像猫和狗、该隐和亚伯一样,程序员和美工也是对死对头。 程序员和美工就像来自不同星球的两种完全不同的人,他们脑袋所关心的事情也完全不同。 程序员希望网站运行起来完美,而美工希望网站看起来漂亮。 这次,我们将站在程序员的角度看看:程序员对美工的5个经典牢骚。

牢骚1: “为什么美工设计所有东西都喜欢用Flash?!”

网站只需要很简单的按钮和一些文本就行了,但是美工却坚持要使用flash,就算加载的时间都是原来的三倍也不管。

问题

对 于有些美工来说,单纯[……]

阅读全文»

Yii框架应用程序整合Ucenter实现同步注册、登录和退出等

如今很多网站都要整合论坛程序,而康盛的Discuz系列产品往往是首选。然后就有了整合用户的需要,康盛提供了Ucenter架构,方便对不同的应用程序进行单点登录整合。

进来我尝试将ucenter整合到Yii网站中,获得了成功,虽然登录同步程序不是很妥当,基本使用没有问题了。我将继续改进。下面说说步骤:

下载安装ucenter和discuz,我使用的是ucenter1.6和discuz7.2,由于7.2自带的uc_client是旧版本,所以需要覆盖一[……]

阅读全文»

Markdown快速入门

Markdown 是一种轻量级标记语言,创始人为 John Gruber 和 Aaron Swartz。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML/HTML 文档”

OSC 博客已支持使用Markdown书写,可以在发表博文的时候点编辑器右上方的切换按钮一键切换编辑器或者到 空间管理-博客管理-博客设置 处设置默认编辑器。

本文简单介绍下 Markdown 的基本语法,让初学者可以快速入门并使用这种标记语言。

标题 [……]

阅读全文»

PHP闭包(Closure)初探

不知不觉发现PHP已经出到了5.5版本,而自己一直在用PHP5.2,让我看起来像深山出来的小伙子一样,又土又落后。在我习惯在javascript中使用闭包之后,忽然间对PHP的闭包打起了兴趣。

于是乎在网上下了个WAMP集成开发环境,是PHP5.3版本的(PHP5.3开始引入了闭包的特性),不得不说WAMP安装使用真的很方便。简单配置了一下,开始动手。

匿名函数

提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一[……]

阅读全文»

使用 Zend Opcache 加速 PHP

Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具。现在,Zend 科技公司将 Optimizer+ 在 PHP License 下开源成为 Zend Opcache。

Zend OPcache 通过 opcode 缓存和优化提供更快的 PHP 执行过程。它将预编译的脚本文件存储在共享内存中供以后使用,从而避免了从磁盘读取代码并进行编译的时间消耗。同时,它还应用了一些代码优化模式,使得代码执行更快。

1. 什么[……]

阅读全文»

鄂ICP备13000209号-1

鄂公网安备 42050602000277号