• 13.PHP_ThinkPHP


    ThinkPHP

        先把百度百科上对这个框架的介绍粘贴过来:

        ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。[1] 

        ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib标签库)、RoRORM映射ActiveRecord模式。

        ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySqlPgSQLSqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

        作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

        

        OK说了那么多,可以简单理解成,Think PHP 是一个写好的PHP框架,里面封装了很多东西,并且实现了很多特性,同时也是遵循MVC的设计理念。开发的时候,直接用这一套,我们直接在上面添加自己的功能性东西业务逻辑以及视图,然后根据具体情况改改配置文件就可以了。增大开发效率。

     

    使用Think PHP

    Think PHP的细节很多,也有专门的使用文档:http://www.thinkphp.cn 这上面有文档和最新版本TP

    因为有官方开发文档,所以也没必要再去说每个细节。直接去看上面网址里的开发文档即可,这里只是说些基本的东西。

     

    1.使用ThinkPHP (阿帕奇)

        去上面官网上下载最新版本TP。(核心版本或者完整版本,目前是两个压缩包。)

    我刚刚看到的官网最新版本是thinkphp_5.0.7_corethinkphp_5.0.5_full

        不需要安装,解压后就可以直接使用。比如咱们直接在www目录下创建一个文件夹。D1,然后把完整版本解压放到里面:


    然后说下默认的目录结构内容:

    ├─application     应用目录

    ├─extend          扩展类库目录(可定义)

    ├─public          网站对外访问目录

    ├─runtime         运行时目录(可定义)

    ├─vendor          第三方类库目录(Composer

    ├─thinkphp        框架核心目录

    ├─build.php       自动生成定义文件(参考)

    ├─composer.json   Composer定义文件

    ├─LICENSE.txt     授权说明文件

    ├─README.md       README 文件

    ├─think           命令行工具入口


    ├─thinkphp 框架系统目录

    │  ├─lang               语言包目录

    │  ├─library            框架核心类库目录

    │  │  ├─think           think 类库包目录

    │  │  └─traits          系统 traits 目录

    │  ├─tpl                系统模板目录

    │  │  ├─.htaccess          用于 apache 的重写

    │  ├─.travis.yml        CI 定义文件

    │  ├─base.php           框架基础文件

    │  ├─composer.json      composer 定义文件

    │  ├─console.php        控制台入口文件

    │  ├─convention.php     惯例配置文件

    │  ├─helper.php         助手函数文件(可选)

    │  ├─LICENSE.txt        授权说明文件

    │  ├─phpunit.xml        单元测试配置文件

    │  ├─README.md          README 文件

    │  └─start.php          框架引导文件

    入口文件在这里


    从右侧可以看出来,定义应用的路径是application

    ..applicationindexcontrollerindex.php 是控制器入口文件:里面是:


    比如现在访问链接:

    http://127.0.0.1/D1/public/index.php

    也可以http://127.0.0.1/D1/public/


    再看下start.php

    然后改下控制器入口文件:applicationindexcontrollerindex.php


    这里面的index() 就跟C++ main一样,可以理解成是或者模块的入口函数。


    最后记得资源可以放在public目录下,其他不需要提供访问权限的东西不能放在这里。


    2.Think PHP 的调试

    Think PHP 的错误显示细节很详细的,开关在这个位置,记得发布的时候一定要关闭调试开关:


    测试下:


    3.控制器

    可以理解成是C++main函数。

    application/index/controller/Index.php

     

    <?php

    namespace appindexcontroller;

    class Index

    {    

        public function index()   

        {        

        return 'Hello,World!';    

        }

    }


     

    可以为操作方法定义参数,例如:

    <?php

    namespace appindexcontroller;

    class Index

    {    

        public function index($name = 'World')   

         {        

            return 'Hello,' . $name . '!';    

        }

    }



    4.视图


    Hello.html

    <html>

    <head>

    <title>hello {$name}</title>

    </head>

    <body>

        hello, {$name}!

    </body>

    </html>

    然后控制器里:

    <?php

    namespace appindexcontroller;

    use thinkController;

    class Index extends Controller

    {

        public function index($name = 'World')

        {

            return 'Hello,' . $name . '';

        }

    public function hello($name = 'thinkphp')

        {

            $this->assign('name', $name);

            return $this->fetch();

        }

    }

    最后访问:

    http://127.0.0.1/D1/public/index.php/index/index/hello

    输出:

    hello, thinkphp!


    5.访问数据库


    然后可以这样查询数据:

    <?php

    namespace appindexcontroller;

    use thinkController;use thinkDb;

    class Index extends Controller

    {    

        public function index()    

        {        

            $data = Db::name('data')->find();//data是列名    

        }

    }

        剩下的Think PHP还有很多,可以在网上找开发文档自己慢慢了解。这里只是简单入个门,让大家知道有这个东西,这个东西比较方便,平时开发可以尝试使用。

  • 相关阅读:
    Python学习---IO的异步[tornado模块]
    Python学习---IO的异步[twisted模块]
    Python学习---IO的异步[gevent+Grequests模块]
    Python学习---IO的异步[asyncio +aiohttp模块]
    Python学习---IO的异步[asyncio模块(no-http)]
    Python学习---Python的异步IO[all]
    Python学习---爬虫学习[scrapy框架初识]
    Python学习---Django关于POST的请求解析源码分析
    Python学习---爬虫学习[requests模块]180411
    Python实例---CRM管理系统分析180331
  • 原文地址:https://www.cnblogs.com/csnd/p/12061975.html
Copyright © 2020-2023  润新知