第二天ci项目规划 前后台分离

1/31/2016 2:40:26 PM

前后台

  1. 表面上看前后台不同网站 但是数据是他们之间的联系要完成结构完整项目 设计好前后台 基于mvc框架 前后台那些地方不同 model公用 包括一些其他类和辅助函数可以公用
  2. 默认一个application 对应一个应用,如果需要前后台两个应用
    1. 比较简单方法 复制一份 application 更改名称 admin 同时编写admin.php作为入口文件 优点 简单 缺点 重复代码太多 类似创建两个应用
    2. ci框架控制器支持子文件夹application/controller/admin直接访问 localhost/citest/index.php/admin/hello/视图也支持子文件夹视图$this->load->view("admin/hello.html",$data) 这个类似tp
    3. 通常项目需求 ,前台网站支持换肤功能 前台视图单独拿出来处理
      1. 实现这一点 需要对核心库进行拓展或者替换核心类文件或者自己编写类文件

      2. 拓展核心类 拓展类必须由母类拓展而来 新拓展的类所在文件必须以MY_为前缀 文件放在 application/core下

      3. 步骤

        1. 网站根文件夹 下创建themes和 themes/default
        2. 定义一个常量 config/constants.php中define('THEMES_DIR',FCPATH.'themes/');
        3. 视图的加载 loader.php $this->ci_view_path = array(APPPATH.'views/' => TRUE);

          class MY_Loader extends CI_Loader { protected $_theme = 'default/'; public function switch_themes_on() { $this->ci_view_paths = array(THEMES_DIR.$this->_theme => TRUE); } public function switch_theme_off(){} }
      4. 哪里调用这两个方法 application/core/MY_Controller.php

         //定义前台总控制器
        class Home_Controller extends CI_Controller {
        public function __construct(){
        parent::__construct();
        $this->load->switch_theme_on();
        //开启皮肤功能
        } }
        //后台控制器
        class Admin_Controller extends CI_Controller {
        public function __construct(){
        parent::__construct();
        $this->load->switch_theme_off();
        //关闭皮肤功能
        }
        }
      5. 控制器通过子文件夹分离 前台放到controller根目录下 后台放到admin中 视图文件则分离 前台放到 网站根目录下 themes 且还支持子文件夹 后台使用默认view文件夹

第二天ci项目规划 前后台分离的更多相关文章

  1. 第二天ci项目规划 数据库设计

    第二天ci项目规划 数据库设计 商品 + 用户 + 订单 数据库设计思想和方法 关于商品品牌 ,分类 ,属性 如何表示 用一个字段 还是再设计一张表 品牌和商品 是一种信息 还是两种信息 一张表一般只 ...

  2. [ci]项目规划-后续

      几个方面来写   1,搭建gitlab 配邮箱 域名等使之好用 2,搭建jenkins –yum,安装常见插件 3,搭建sonar,汉化 4,安装sonar-scanner   0,实现sonar ...

  3. CI框架3.0版本以后,前后台分离的方法。

    笔者认为,CI框架官方其实并没有考虑这个前后台分离的问题,所以没有官方的分离方法.而且,2.0版本的分离,也被官方认为这是一个bug.所以在前后台分离这个问题上,其实并不如thinkphp框架. 在C ...

  4. vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发

    在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请 ...

  5. Spring boot 前后台分离项目 怎么处理spring security 抛出的异常

    最近在开发一个项目 前后台分离的 使用 spring boot + spring security + jwt 实现用户登录权限控制等操作.但是 在用户登录的时候,怎么处理spring  securi ...

  6. luffy项目:基于vue与drf前后台分离项目(2)

    user模块User表 创建user模块 前提:在 luffy 虚拟环境下 1.终端从项目根目录进入apps目录 >: cd luffyapi & cd apps 2.创建app > ...

  7. NopCmmerce Area前后台分离

    Nop 前后台是独立的应用程序:使用用Area技术分离:Nop.Admin项目放在Nop.Web项目的administration文件夹下面,通过编辑类库输入路径到Nop.Web的Bin目录下面: 分 ...

  8. PMP备考指南之第二章:项目运作环境

    本文已同步至 GitHub/Gitee/公众号,感兴趣的同学帮忙点波关注~ 第二章:项目运作环境 1. 事业环境因素.组织过程资产 事业环境因素 Enterprise Environmental Fa ...

  9. 前后台分离的 NET Core 通用权限管理系统

    前言 从事软件开发这个行业现在已经有十几年了,项目无论大小权限认证.授权模块总是或多或少有功能需求的,这一块费时费力但是又存在于后台,使用最多的可能是运维人员所以处于出力不讨好的尴尬地位,每次有新的项 ...

随机推荐

  1. 动态令牌-(OTP,HOTP,TOTP)-基本原理

    名词解释和基本介绍 OTP 是 One-Time Password的简写,表示一次性密码. HOTP 是HMAC-based One-Time Password的简写,表示基于HMAC算法加密的一次性 ...

  2. ASP.NET获取客户端、服务器端的信息

    ASP.NET获取客户端.服务器端基础信息 1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名: ...

  3. maven实战(04)_在pom中使用properties

    使用常量不仅让代码变得简洁,更重要的是可以避免重复,在需要更改的时候,只需要修改一处,降低了错误发生的概率. <project> <modelVersion>4.0.0< ...

  4. C#发送邮件异常:根据验证过程,远程证书无效

    今天在做发送邮件功能时,开始用qq邮箱和163邮箱都可以正常发送,后再改用我公司的邮箱和smtp时竟然报错了. 异常提示-----"根据验证过程,远程证书无效",后来通过查询资料解 ...

  5. soft-margin SVM

    1. soft-margin SVM的形式 其中ξn表示每个点允许的犯错程度(偏离margin有多远),但是犯错是有代价的,也就是目标函数里面要最小化的.c控制对犯错的容忍程度. 2. 推导soft ...

  6. airflow 优化

    1. 页面默认加载数据过多,加载慢. 修改 .../python2.7/site-packages/airflow/www/views.py文件, 1823行, page_size参数, 比如改成18 ...

  7. Euler Tour Tree与dynamic connectivity

    Euler Tour Tree最大的优点就是可以方便的维护子树信息,这点LCT是做不到的.为什么要维护子树信息呢..?我们可以用来做fully dynamic connectivity(online) ...

  8. JQ倒计时天时分秒

    <div id="times_wrap" class="time_num"> 距离现在时间: <div class="time_w& ...

  9. 【ASP.NET】VS编译成功后自动生成Nuget包

    在VisualStudio项目中,可以在每次编译成功后自动发布nuget包,具体配置过程如下:   1.下载nuget.exe,放置在Visual Studio项目的根目录下.   2.通过命令行生成 ...

  10. 463. Island Perimeter

    https://leetcode.com/problems/island-perimeter/ 在一个N×N的矩阵中,N<100,1代表岛,0代表海,岛内没有海,求岛的周长 [[0,1,0,0] ...