zoukankan      html  css  js  c++  java
  • thinkphp的学习笔记

    # Thinkphp

    ## 什么是框架?(框架开发)
    > 框架就是通过提供一个开发Web程序的基本框架(比如提供了分页类、数据库操作类、文件操作类等),使用框架可以减少开发者代码的编写。
    > 简单理解就是别人写好了很多东西,我们直接拿过来用。最后拼凑成一个项目(可以是商城、论坛等) 。

    ## 什么是二次开发
    * 所谓二次开发就是在现有的软件上进行定制修改,功能的拓展,然后达到自己想要的功能,一般来说都不会改变原有项目的主要内容。

    ### 商城二次开发框架
    * ecshop
    * shopnc
    * ecmall

    ### 内容管理系统(cms)二次开发
    * thinkcmf
    * phpcms
    * 织梦
    * wordpress 博客系统

    ### 论坛二次开发
    * discuz
    * phpwind

    ## 为什么需要框架?

    1. 可以减少写重复代码。
    2. 有利于分工合作,提高效率。前端负责模板开发,程序员负责后台逻辑程序的编写。

    3. 框架可以帮助我们快速、稳定、高效搭建程序系统

    4. 框架的过程可以使我们集中于业务层面,而无需关心程序的底层架构。

    ## 主流PHP框架有哪些?
    > Laravel、Yii、CodeIgniter、Symfony、ThinkPHP

    主流的PHP框架大多数都是基于MVC模式的。

    ## 怎么去学习一个框架?
    > 我们现在学的是ThinkPHP,但是到了公司不一定就是用ThinkPHP。那么我们怎么快速上手一个PHP框架。

    第一、弄清楚PHP框架的目录结构、配置、URL规则。

    第二、熟悉数据库增删改查的基本方法。

    第三、再根据工作需要去深入了解其他东西。


    ## ThinkPHP目录说明
    * Application 应用目录。以后我们写的代码大多数在这里
    * Public 资源文件目录。 就是放JS CSS 图片的目录
    * index.php 入口文件。
    * ThinkPHP目录 Thinkphp核心代码

    Library 核心库(所有的基类都在这里)
    Org 第三方的开源的PHP包( 就是一些类 )
    Net 放置的是网络一些处理的php文件

    Think 核心的核心


    Common 公共函数
    functions.php Thinkphp公共函数

    Conf 配置文件的目录(****)
    convention.php 惯例配置文件(就是tp提供配置文件)


    Mode 就是为了兼容各种云平台(SAE 新浪云 ) 不常用

    * Application 项目的代码都在这里

    Common 自定义的函数就放到这里

    Common 可以放置自定义的函数
    Conf 所有模块的配置文件,会对所有的模块有效

    Home 前台模块的代码都在这里

    Runtime 一些缓存、模板编译的数据(如果报错,经常删除)


    ### URL(***)

    .../模块/控制器名字/方法名

    例子:
    Home/Index/index 访问的是Home模块的IndexController控制器的index方法


    .../?m=Home&c=index&a=index

    例子:
    ?m=模块名&c=控制器名&a=方法名

    ## 入口文件
    > define('APP_DEBUG',true);
    项目完成后,就改成false。开发阶段就是true


    ## 如何配置
    1. 找到惯例配置文件中(ThinkPHPConfconvention.php)

    2. 复制惯例配置中的你想要改变的配置内容

    3. 放到模块配置文件中(Application/Common/Conf/Config.php)


    ## D() 与 M()区别

    M()直接是实例化 ThinkModel

    D('stu'); 先去Model目录下有没有StuModel.class.php
    如果没有,才去new ThinkModel

    ## 视图连接到控制器
    U()方法生成url

    U()在控制器中使用:
    U('del') 找到当前控制器的del方法
    U('Goods/del') 找到当前模块的Goods控制器的del方法

    U('Home/Goods/del') 找到Home模块的Goods控制器的del方法


    在视图中使用U()方法:
    > {:U('del')}

    带参数的用法
    {:U('del',array('id'=>$v['id']))}


    ###配置

    惯例配置 Thinkphp/Conf/convention.php

    应用配置

    模块配置(Home Admin)

    ## 伪静态
    * 作用:有利于搜索引擎的收录
    概念:伪静态不是真实的静态页面。


    ========================
    .com 商业
    .edu 教育
    .cn 中国
    .org 不盈利

  • 相关阅读:
    AjaxPro.2.dll基本使用
    能够按页号提取word文档文本内容的小程序,由C#实现
    Reflect反编译C#程序
    模态对话框
    【转】Google Chrome如何保存密码口令
    Android 应用的签名的基本原则
    几款keylogger
    对一个利用短链接进行钓鱼行为的小小分析
    2011年10月百度笔试 RD3—第4题
    TCP中有哪些机制保证了可靠传输
  • 原文地址:https://www.cnblogs.com/sushaolian/p/5777136.html
Copyright © 2011-2022 走看看