mtcms是一款开源的中小型企业cms网站内容管理系统,基于yii framework框架构建,已成功制作运营几十个企业网站案例,现将开源出来供广大yii学习爱好者分享交流。
mtcms制作的初衷是为了yii的学习,和满足中小企业网站的需求,不同于那些大型开源cms系统,我们的目的在于更好的分享与学习。 继续阅读 »
mtcms是一款开源的中小型企业cms网站内容管理系统,基于yii framework框架构建,已成功制作运营几十个企业网站案例,现将开源出来供广大yii学习爱好者分享交流。
mtcms制作的初衷是为了yii的学习,和满足中小企业网站的需求,不同于那些大型开源cms系统,我们的目的在于更好的分享与学习。 继续阅读 »
前段时间公布了 MagnetCMS基于Yii framework的内容管理系统 ,反响甚好。
今日公布出MagnetCMS的测试后台地址http://demo.51czone.com/admin.php
磁石博客历时一个月基于PHP的开源CMS系统MagnetCms终见雏形,也是学习Yii framework一段时间的劳动成果,已具备了企业CMS的基本功能需求。
MagnetCms技术架构
首先声明一个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.',
),
);
} }
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。
例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。
require('path/to/globals.php');
require('path/to/yii.php');
现在我们可以在应用的任何地方使用我们的全局函数,例如可以使用user()代替Yii::app()->user。 注:如果你打算发布一个可重用的组件,请不要组件中使用全局函数,在不同的应用配置中,可能导致无法使用。 同时,也应注意与第三方库的冲突,可考虑对每个函数前加上自己的前缀,已做区分,例如框架核心均已C为前缀。
上一篇文章当中已经介绍了关于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目录 继续阅读 »
大型应用程序通常分为前端和后端(或更完)根据目标用户群体。 前端应使用普通用户,而后端主要是管理人员或工作人员。 两端通常有显着不同的外观,尽管他们可能有着大量的代码下面。 在本教程中,我们描述一个组织的两端代码目录的方式。
注: 本教程中描述的目录组织,这是旨在作为一个参照执行。 它不是一个标准。 禹为您提供完全的自由来组织目录,根据您的需要。 继续阅读 »