• PHP实例开发(3)PHP中MVC学习之ThinkPHP


    PHP中MVC学习之ThinkPHP

    1、什么是MVC

    MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离

    MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

    2、为什么要使用 MVC

    首先,最重要的一点是多个视图能共享一个模型,现在需要用越来越多的方式来访问你的应用程序。由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。

    再次,开发周期缩短、方便维护和管理降低开发成本和工作量。

    任何一个事物也会有缺点,我们来看一下:

    MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。

    MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。

    3、认识一个MVC框架ThinkPHP

    ThinkPHP是一个快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,并且永久免费使用,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。使用ThinkPHP,你可以更方便和快捷的开发和部署WEB应用

    特点

    简单易用的MVC模式

    独创的核心编译和项目编译机制

    内置 XML模板引擎,支持标签库

    富模型支持 

    目录结构自动创建

    分布式数据库支持

    多数据库连接和切换支持

    CURD和操作高度自动化支持 

    注意:

    ThinkPHP3.2

    PHP版本要求

    • PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持)

    详细参见http://document.thinkphp.cn/manual_3_2.html

    4、如何搭建一个ThinkPHP

    下载ThinkPHP3.1版本框架包,直接引用目录中的 ThinkPHP.php 文件即可

    文件index.php代码如下:

    <?php
    define("THINK_PATH", "ThinkPHP/");
    define("APP_NAME", '43_MVC_ThinkPHP');
    define("APP_PATH", '.');
    require_once(THINK_PATH."ThinkPHP.php");
    $app = new App();
    
    ?>

    控制器代码如下:

    <?php
    // 本类由系统自动生成,仅供测试用途
    header("Content-type:text/html;charset=utf-8");
    class IndexAction extends Action {
        public function index(){
        $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>修改控制器 <b>ThinkPHP</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
         }
        public function show(){
            echo "新建的方法<br>";
        }
    }
  • 相关阅读:
    Linux+postfix+extmail+dovecot打造基于web页面的邮件系统
    各种大型网站技术架构--摘抄
    会php不回缓存行吗?多重实现
    Nutch相关框架视频教程--说明
    Nginx 配置文件模板
    原创:CentOS6.4配置solr 4.7.2+IK分词器
    nutch2.2.1安装部署
    Android View绘制13问13答
    使用 MailOtto 做完美预加载
    ActiveAndroid:活性记录的风格ORM(对象关系映射)
  • 原文地址:https://www.cnblogs.com/chenyigen/p/4700358.html
Copyright © 2020-2023  润新知