此方法参考官方网站的cookbook,详细请看http://www.yiiframework.com/doc/cookbook/33/,
我在此基础上做了一些改动,人个感觉非常棒了,大家可以试一下!
首先我把目录结构写下来:
wwwroot/
index.php
admin.php
assets/
images/
protected/
config/
main.php
components/
controllers/
models/
views/
runtime/
admin/
config/
main.php
components/
controllers/
views/
runtime/
前后台引导文件分别如下:
// index.php:
require(‘path/to/yii.php‘);
Yii::app()->createWebApplication(‘protected/config/main.php‘)->run();
// admin.php:
require(‘path/to/yii.php‘);
Yii::app()->createWebApplication(‘protected/admin/config/main.php‘)->run();
cookbook上的方法是前后台各有一个配置文件,这样配置比较麻烦一些,我们可以采用覆盖的方法,这是参考一个回复者的方法,我又做了一些修改.
protected/admin/config/main.php的代码如下:
$backend=dirname(dirname(__FILE__));
$frontend=dirname($backend);
Yii::setPathOfAlias(‘backend‘,
$backend);
$frontendArray=require($frontend.‘/config/main.php‘);
$backendArray=array(
‘name‘=>‘网站后台管理系统‘,
‘basePath‘ => $frontend,
‘controllerPath‘ => $backend.‘/controllers‘,
‘viewPath‘ => $backend.‘/views‘,
‘runtimePath‘
=> $backend.‘/runtime‘,
// autoloading model and
component classes
‘import‘=>array(
‘application.models.*‘,
‘application.components.*‘,
‘application.extensions.*‘,
‘application.extensions.nestedset.*‘,
‘backend.models.*‘,
‘backend.components.*‘,
//这里的先后顺序一定要搞清
),
‘components‘=>array(
‘user‘=>array(
// enable cookie-based authentication
‘allowAutoLogin‘=>true,
),
),
// main is the default
layout
//‘layout‘=>‘main‘,
// alternate layoutPath
‘layoutPath‘=>dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.‘views‘.DIRECTORY_SEPARATOR.‘layouts‘.DIRECTORY_SEPARATOR,
);
if(!function_exists(‘w3_array_union_recursive‘))
{
/**
* This function does
similar work to $array1+$array2,
* except that
this union is applied recursively.
* @param
array $array1 - more important array
* @param
array $array2 - values of this array get overwritten
* @return array
*/
function
w3_array_union_recursive($array1,$array2)
{
$retval=$array1+$array2;
foreach($array1 as
$key=>$value)
{
if(is_array($array1[$key]) && is_array($array2[$key]))
$retval[$key]=w3_array_union_recursive($array1[$key],$array2[$key]);
}
return $retval;
}
}
return
w3_array_union_recursive($backendArray,$frontendArray);
这里我们的model是公用的,controller和view是分开的,我们还可以通过命令行对后台进行model和crud,方法如下:
>yiic shell path/to/site/admin.php
> model Article
> crud
Article
这样后台对应的controller和view就生成了!
如果只对后台的变量进行配置的话,只需要修改protected/admin下的配置文件就可以了!
相关文章
- 10-1110月22日纯血鸿蒙正式版发布意味着什么?-应用管控中心:鸿蒙系统提供了应用管控中心,能够智能识别应用的风险行为,并给出将其放入应用管控中心的提示,以便在更安全可控的环境下调用。对于被加入管控的应用,系统会通过空白信息、模糊定位等方式隐藏或禁用真实敏感的用户数据,并限制应用弹框,确保应用在安全受控的前提下正常运行。 隐私保护功能:鸿蒙系统提供了图片隐私保护功能,可以在分享照片时去除图片的位置信息和拍摄数据。此外,还有AI隐私保护功能,可以自动识别并一键打码身份证、银行卡号、车票信息、头像昵称等敏感信息,防止隐私泄露。 系统级文件加密分享:鸿蒙系统支持系统级的文件加密分享机制,用户可以在手机或平板上对文件进行加密,只有授权的用户才能打开,这种系统级的分享机制不依赖应用,不限分享渠道,并支持多种文件类型。 安全认证:鸿蒙系统的安全能力获得了行业最高等级的安全认证,鸿蒙内核获得了国际CC EAL6+证书,这是业界通用操作系统内核领域首个6+等级认证。整个系统还获得了中国CCRC EAL5+认证,是业界唯一获得此认证的操作系统。 隐私灯功能:鸿蒙系统推出了全新的隐私灯功能,能在状态栏明确提示用户当前有应用正在使用麦克风、摄像头或地理位置,并能做到全局的实时显示,有效防止被应用覆盖,确保用户能够实时了解应用正在使用的敏感权限。 应用权限管理:鸿蒙系统全面梳理了所有系统授权,禁止开放了9类不合理权限,包括读取已安装应用列表、访问短信、访问存储文件等,确保应用只能访问特定权限,保护用户数据的安全和私密性。 分布式架构:鸿蒙系统的分布式架构支持多种设备间的无缝协作,允许手机轻松连接到其他设备,实现资源共享和跨设备的任务处理,同时确保了数据在不同设备间的安全传输。 微内核设计:鸿蒙系统采用微内核设计,有效防止了外部攻击,并且通过形式化方法,重塑可信安全,提供更强的安全特性和低时延等特点。 数据生命周期保护:鸿蒙系统参照数据的风险分级,提供了基于全生命周期的数据保护能力,包括数据的生成、存储、使用、传输和销毁等阶段,确保数据在各个阶段的安全。 以上这些特性共同构成了鸿蒙系统在安全和隐私保护方面的全面策略,为用户提供一个安全可靠的操作系统环境。 鸿蒙系统惊人的迭代速度 从官网鸿蒙文档的发布可以看出,纯血鸿蒙NEXT在6月份面向开发者发布 Beta1版本以来,短短4个月时间,经过6个Beta 版的迭代,到昨天发布会正式发布,V 哥从文档日期看到,HarmonyOS NEXT Release 版,更新于2024-10-18 17:16。 正式版的发布,为首款搭载纯血鸿蒙 NEXT 手机 Mate70的发布提前奠定了基础,让我们一起期待12月份里程碑式的发布会。 鸿蒙系统是智能时代的基础 当下,我们正面临第四次工业革命的进程,从第一次以蒸汽机为首的机器取代人力生产的机械制造时代,到第二次以电力大规模应用为代表的电气化和自动化时代,再到第三次以计算机和电子数据普及为代表的电子信息时代,我们都在学习和模仿,这一次的智能时代来了,鸿蒙系统将发挥着重要的基础能力。智能设备和产品,就得依托智能底座系统。 虽然说从诺基亚手机的塞班系统开始就称之为智能手机系统,随着iPhone的横空出世,和Android系统生态的发展,智能操作系统才真正被称为智能。而鸿蒙 NEXT,又重新定义了什么是智能操作系统,听 V 哥慢慢道来。 iOS 和 Android 都是为单一设备设计的操作系统,它们的内核和系统架构主要针对手机、平板等移动设备进行优化。所以我们会看到例如 iOS的应用有手机版,pad版多套应用,这无疑给企业开发增加而外的工作量。 再一个,虽然 iOS 和 Android 支持多任务和后台处理,但它们并不是为跨设备协作设计的分布式系统。在多设备协同工作方面,它们主要依赖于云服务和第三方应用来实现。 而鸿蒙 NEXT 系统(HarmonyOS NEXT)是一个分布式操作系统,它支持多种设备之间的无缝协作,实现了真正的分布式架构。鸿蒙系统通过微内核设计,提供了更好的性能和安全性,同时支持跨设备的统一操作体验。分布式系统是指由多个独立的计算机组成的系统,这些计算机之间通过网络相互连接,协同工作以完成特定的任务。 所以,在鸿蒙应用开发中,可以真正实现一次开发多端部署的特点。因为鸿蒙系统本身是分布式系统架构。这个特性不简单,随着物联网的发展,除了手机、平板、电视、手表等等这些智能设备,鸿蒙为更多的物联网、泛物联网设备的产生提供了天然的支持,鸿蒙系统可以让这些设备之间实现丝滑的数据流转,为所有智能设备提供了统一的系统级标准,这为智能时代的发展带来无限的可能,手机、平板等不是全部,而是物联网设备中的其中一种而已。 鸿蒙时代必将开启全新的世界。
- 10-11Yii Framework处理网站前后台文件的方法
- 10-11IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
- 10-11[代码]--IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
- 10-11Yii Framework处理网站前后台文件的方法
- 10-11HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本 ,请添加处理程序。如果下载文件,请添加 MIME 映射。 IIS站点中添加WCF项目后浏览网站报错解决方法。