1.fetch,volist
public function index(){
$this->assign('list',$list);
return $this->fetch();
无Model模式的web开发--》企业官网,都是静态页面,不需要数据库
无View模式的Api接口开发--》对app提供http+json的接口
隐藏url上的index.php使得url更美观,安全
首先去httpd中找到大概130行,关键词rewrite_module 放开注释再找到根目录配置
大概219行关键词Director找到AllowOveride None 的None改为All
然后重启apache
最后访问没有index.php的路径,访问成功。
留意如果使用的是apache使用的是rewrite重写规则那么起控制作用的是public下的.htaccess的最后一行
RewriteRue ^(.*)$ index.php/$1 [qsa,pt,l]
代表着,把当前所有url的请求,重定向自动加上index.php的url路径。起哄$1对应的就是括号中的内容。
common.php 通用函数,可以全局调用
config.php 配置项
database.php 数据库配置项
route.php 路由配置项
tags.php 应用行为扩展配置项,用来扩展框架,利用Hook钩子添加行为
extend 下载第三方类库(不通过composer)
网站根目录放在public
rebots爬虫定义文件
router快速启动框架服务
static静态文件
java
<html></html>
fasdfasfasdfa
sffdsdssdf
简单易懂,不错不错。
讲的真好,受益匪浅。
thinkphp
212125626526
模板的引入使用include标签,通过标签引入不同的模板文件,简化模板。例如{include file="common/nav /}
将所有页面都需要的代码写入view/common/base.html中,在模板需要用到代码时直接用{extend name=“common/base”/}
如何更改继承文件的内容,在继承文件中添加标签{block name=“title”}要修改的内容{/block} ,在被继承文件中添加标签{block name=“title”}源代码内容{/block}(当文件没有修改时,默认输出源代码的内容。)如果继承文件中想要在原来代码的基础上进行添加,可以{block name=“title”}要修改的内容{__block__}/block}
layout标签,先修改配置文件,之后直接在模板中编写内容,会直接替换layout.html中{__CONTENT__}所在行,直接输出。
在前端中使用继承多一点,后台可以使用继承和layout结合。
比较是否相等:标签{eq name=“a” value=“10(或者$另一个变量名)”} 想等{else/} 不相等{/eq}
{equal} xxx{else/} xxx{/equal}
neq(notequal)与上述相反,如果错误返回前一个值,如果错误返回else的值
比较大于的标签:{gt }{else/} {/gt}
比较小于的标签{lt}
大于等于:{egt}
循环标签:1、{volist 有一些属性 } {/volist}
2、foreach
3、for
大多数逻辑编写调整调整在控制器中完成。模板只用来展示界面的,多数时候不需要在view层进行逻辑的编写。可以使用系统默认的标签件进行
以上四种方法都能将变量输出。
使用变量替换,当变量文件存放路径改变时,可以不用改变所有文件中的路径。
用fetch需要用模板文件进行调用,用display可以直接写入字符串。再有前端用户交互时建议用fetch,将mvc分离,代码可维护性高。
thinkphp框架试单入口文件,所有请求都通过public下的index.php进入,之后通过携带不同的参数转发到相应的控制器中实现相应的功能。
index.php入口文件中可以改变一些常量的定义,如app文件路径,config文件路径,等等。
改变系统环境变量,在thinkphp下创建一个.env文件,每次修改环境变量时,在config下添加新的环境文件,再.env中同时添加新的环境变量。同时通知团队成员在.env中添加。使用时直接访问ENV函数即可显示环境变量。
之前的惯例配置、应用配置、扩展配置都是对整个应用而言。可以通过模块配置对单个模块进行配置。在cong下新建文件夹,需要与模块名相同,在文件夹下新建配置文件必须是config.php。
conf下新建的文件对整个应用有用,conf下新建模块,在模块下新建config.php,则是对同名模块有用。
不同场景可能需要的配置不同,就可以通过扩展场景配置来设置不同的配置(在家和办公时可能环境不同使用的数据库不同,就可以设置不同的场景配置)
开发中是不允许改变框架的任何配置的,避免后期升级出现问题。惯例配置也就是默认配置。我们可以通过应用配置来修改。在config.php中修改即可修改整个应用的配置。可以添加新的项,或者修改默认的配置:使用默认配置中的名称,添加新的值即可将之前的覆盖掉。
利用config()函数默认读取框架惯例配置文件,就是thinkphp/tpl下的convention.php文件
在网站中访问会出现以下:
application应用目录:
整个应用所有的内容都写在此目录下。后续开发中很多时候都是编写此目录下的文件。index模块下有controller文件夹(控制器),自己创佳view文件夹(视图)和model文件夹(模型),以上就组成了index模块的mvc框架。应用是支持多模块的,因此可以在application下创建admin模块(admin处理后台的逻辑,index处理前台展示给用户。可以自定义多个模块。比如购物车、前台、后台......)。commamd.php是控制台的配置文件。common.php项目的公用文件,比如将一些通用函数写入其中,以便所有的模块都可以调用。config.php是应用的配置文件,整个应用都会读取此文件。database.php数据库配置文件,链接数据库时修改此文件即可。route.php路由配置文件,美化url。tagst.php应用行为扩展文件,可以对框架进行修改,而不需要对框架本身进行修改。
public目录:
此目录下所有文件都是可以被访问的。favicon.ico图标,访问网页时在标签页上会显示此图标。index.php整个网站的入口文件,所有的请求都会经过index.php之后再去转发。robots.txt搜索引擎爬虫文件,是给搜索引擎看的,里面定义了哪些url可以被搜索引擎爬取,哪些不能(后台的所有url链接就不希望被爬取)。router.php是框架快速启动的测试文件(只装了php,没有装apache,可以通过此文件启动)。static文件存放网站的静态文件(css文件、js文件、静态图片)
runtime目录:
网站运行过程中的缓存文件,包括日志缓存编译文件
think.php目录:
tpl文件是框架默认的一些模板,其中default_index.tpl自动生成的控制器模板文件,dispatch_jump.tpl是网站发出成功或者失败中间的跳转文件,page_trace.tpl是调式时显示的模板文件,think_exception.tpl是抛出异常时页面展示的文件
获取get下的id参数
$res = input('get.id');
获取post下的id参数
$res = input('post.id');
Env::get('dabase');//跟直接用Config获取不一样,Config要写全,且是大写
$request 的基本使用方法