分类存档: Yii framework

MTCMS论坛将于中秋节后正式上线

mtcms是一款开源的中小型企业cms网站内容管理系统,基于yii framework框架构建,已成功制作运营几十个企业网站案例,现将开源出来供广大yii学习爱好者分享交流。

mtcms制作的初衷是为了yii的学习,和满足中小企业网站的需求,不同于那些大型开源cms系统,我们的目的在于更好的分享与学习。 继续阅读 »

基于YII的MagnetCMS测试地址

前段时间公布了 MagnetCMS基于Yii framework的内容管理系统 ,反响甚好。

今日公布出MagnetCMS的测试后台地址http://demo.51czone.com/admin.php

前台地址http://demo.51czone.com

继续阅读 »

Yii之CListView AJAX filtering过滤

这个文档展示了如何显示CListView items使用Ajax过滤,并且对JS禁用的用户可以兼容。在我的实例中设置了过滤用户名单。

继续阅读 »

MagnetCMS基于Yii framework的内容管理系统

磁石博客历时一个月基于PHP的开源CMS系统MagnetCms终见雏形,也是学习Yii framework一段时间的劳动成果,已具备了企业CMS的基本功能需求。

MagnetCms技术架构

Yii之深入理解“Assets”

想想许多刚刚使用YII的学习者来说,对于根目录下的assets目录都会有些困惑,本文将详细解释。

许多应用程序是Webroot下完全自包含相关资源(图像,CSS文件,JavaScript文件等)
  • webroot/css/*
  • webroot/js/*
  • webroot/images/*

如果一个模块需要添加使用资源,直接从webroot中引用添加即可。
但是试图创建一个模块能够在任何地方引用,且资源独立并能够避免命名冲突。

你如何保证你的文件名的CSS / foo.css不会与一些零散的应用程序的尝试使用相同名称的文件冲突,对于js,images也一样。
继续阅读 »

使用Model上传文件

首先声明一个image属性在Model中(无论是form model或active record model)。同时声明了一个验证规则,以确保该属性的类型,大小等。

class Item extends CActiveRecord
{
    public $image;
    // ... other attributes

    public function rules()
    {
     return array(
            array('image', 'file',
                'types'=>'jpg, gif, png',
                'maxSize'=>1024 * 1024 * 50, // 50MB
                'tooLarge'=>'The file was larger than 50MB. Please upload a smaller file.',
            ),
        );
} }
然后,控制器类中定义的操作方法来呈现的form和收集用户提交的数据

yii全局函数的使用

由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。
例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。

我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在开始文件
require('path/to/globals.php');
require('path/to/yii.php');
现在我们可以在应用的任何地方使用我们的全局函数,例如可以使用user()代替Yii::app()->user。
注:如果你打算发布一个可重用的组件,请不要组件中使用全局函数,在不同的应用配置中,可能导致无法使用。
同时,也应注意与第三方库的冲突,可考虑对每个函数前加上自己的前缀,已做区分,例如框架核心均已C为前缀。

继续阅读 »

Yii应用之CGirdView

Yii framework中已经为我们预置了CGirdView组件,便于我们组件重用,丰富的参数设置能够满足我们的需求,API文档中有详细的说明。下面对CGirdView重用功能进行分析。

继续阅读 »

Yii应用目录设计及配置复用

上一篇文章当中已经介绍了关于YII的前后台(backend)组织目录形式,但是经过实践会发现一些问题,上文中仅仅解决了,各应用之间共享models,components的问题,但是无法解决配置文件复用。

下面就这一问题进行描述。

/webroot
       /protected
              /admin
                    /config
                         main.php
                    /models
                    /components
                    /controllers
                    /views
                    /runtime
             /config
                    main.php
             /models
             /components
             /controllers
             /views
             /runtime
             /extensions

依旧使用这样的组织目录形式,在之后的描述当中根目录下的的应用作为frontend,admin为backend,使用别名解析后,application指向protected目录,backend指向admin目录 继续阅读 »

YII前后台应用目录结构

大型应用程序通常分为前端和后端(或更完)根据目标用户群体。 前端应使用普通用户,而后端主要是管理人员或工作人员。 两端通常有显着不同的外观,尽管他们可能有着大量的代码下面。 在本教程中,我们描述一个组织的两端代码目录的方式。

注: 本教程中描述的目录组织,这是旨在作为一个参照执行。 它不是一个标准。 禹为您提供完全的自由来组织目录,根据您的需要。 继续阅读 »

重拾Yii framework

在PHP框架云集的今天,选择一款来学习是令人十分纠结的,尤其是作为初学者的我们。

在选择框架的时候,不免要Google一下,看看大牛们的建议,然而众口难调,各有千秋。

我在选择的时候也是经过了一番挣扎,经历过cakephp,qeephp,thinkphp,最后还是回归到了yii.

继续阅读 »