• ThinkPHP入门


    1.ThinkPHP3.0可以支持Windows/Unix服务器环境,需要PHP5.2.0以上版本支持

    2.

    说明
    ThinkPHP.php 框架入口文件
    Common 框架公共文件目录
    Conf 框架配置文件目录
    Lang 框架系统语言目录
    Lib 系统核心基类库目录
    Tpl 系统模板目录
    Extend 框架扩展目录(关于扩展目录的详细信息请参考后面的扩展章节)

    Vendor 第三方类库目录

    注意:如果你下载的是核心版本,有可能Extend目录是空的,因为ThinkPHP本身不依赖任何扩展。

    3.

    • 类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如DbMysql.class.php;
    • 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
    • 类名和文件名一致(包括上面说的大小写一致),例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
    • 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
    • 函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
    • 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
    • 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
    • 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
    • 常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
    • 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
    • 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_;
    • 对变量的命名没有强制的规范,可以根据团队规范来进行;
    • ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
    • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,类似 _username 这样的数据表字段可能会被过滤。

    4. 开发流程

    使用ThinkPHP创建应用的一般开发流程是:
    • 系统设计、创建数据库和数据表;(可选)
    • 项目命名并创建项目入口文件,开启调试模式;
    • 完成项目配置;
    • 创建项目函数库;(可选)
    • 开发项目需要的扩展(模式、驱动、标签库等);(可选)
    • 创建控制器类;
    • 创建模型类;(可选)
    • 创建模板文件;
    • 运行和调试、分析日志;
    • 开发和设置缓存功能;(可选)
    • 添加路由支持;(可选)
    • 安全检查;(可选 )
    • 部署到生产环境。

     5.OOP

    面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程 架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达 到了软件工程的三个主要目标:重用性、灵活性和扩展性。

    组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和 结构化的基础。

    抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。

    封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提 供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接 口,并规定了其它组件进行调用的方法。

    多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据 实际调用的类型。

    继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就 是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。

     6.MVC

    MVC 是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC 应用程序被分成
    三个核心部件:模型(M)、视图(V)、控制器(C

    7.CURD

    CURD 是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是 CURD。它代表创 建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。

    ThinkPHP 是使用 add、save、select 和 delete 方法表示模型的 CURD 操作。

    8.Svn

    svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。

     svn服务器有2种运行方式:独立服务器和借助apache运行。

    svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

    集中式代码管理的核心是服务器,如果脱离了服务器,开发者基本上可以说是无法工作的。

    9.入口文件

    ThinkPHP 采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目只有一个统一(但 不一定是唯一)的入口。并且所有的项目的入口文件是类似的,入口文件主要完成的作用是:

     路径定义 项目名称定义(可选)

     额外参数定义(可选)

     载入框架入口文件(必须)

     实例化一个 App 应用(必须)

    下面是一个标准的入口文件的写法:

    <?php 

    // 定义 ThinkPHP 框架路径(相对于入口文件)

    define('THINK_PATH', '../ThinkPHP');

    //定义项目名称和路径

    define('APP_NAME', 'Myapp');

    define('APP_PATH', '.');

    // 加载框架入口文件

    require(THINK_PATH."/ThinkPHP.php");

    //实例化一个网站应用实例

    App::run();

    ?>

  • 相关阅读:
    c#使用NPOI导出Excel及往Excel里追加记录
    c#自定义进度条
    游戏中的过程生成——元胞自动机 Celluar Automata 生成洞穴地形
    在Unity(C#)下实现Lazy Theta*寻路
    A*算法改进——Any-Angle Path Planning的Theta*算法与Lazy Theta*算法
    unity下的Line of Sight(LOS)的绘制
    unity中绘制战争迷雾
    unet中可视性检查的一些笔记
    在DirectX11下用Stencil Buffer绘制可视化Depth Complexity
    漏洞复现-CVE-2015-1427-Groovy远程代码执行
  • 原文地址:https://www.cnblogs.com/peng14/p/2813279.html
Copyright © 2020-2023  润新知