欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP全栈从入门到精通1

程序员文章站 2022-06-25 13:45:51
thinkphp框架,是一堆代码(常量,方法,和类)的集合,框架是一个半成品的应用,还包含一些优秀的设计模式。 框架的使用,代码风格不一样,维护难,项目生命周期短,功能扩展存在局限,好处为,简单,快捷,高效,不需要关注底层结构,专注于业务逻辑 zend framework,官方框架,yii框架,美国 ......

PHP全栈从入门到精通1

thinkphp框架,是一堆代码(常量,方法,和类)的集合,框架是一个半成品的应用,还包含一些优秀的设计模式。

框架的使用,代码风格不一样,维护难,项目生命周期短,功能扩展存在局限,好处为,简单,快捷,高效,不需要关注底层结构,专注于业务逻辑

zend framework,官方框架,yii框架,美国华人,laravel轻量级的框架,国外框架,thinkphp国人开发。

什么是mvc,是一种设计模式,将用户的输入,逻辑,输出相分离。输入-控制器,逻辑-模型,视图-输出。

入口文件,对应的控制器,控制器到视图展示模板,和控制器到模型,模型是和数据库的,返回数据,控制器调用模型处理业务逻辑的。

混合编程阶段,模板引擎阶段,mvc阶段。

官网下载:

http://www.thinkphp.cn/

PHP全栈从入门到精通1

alpha版本为内测版本,beta版本为公测版本,rc版本为候选版本,r版本为release版本,发行版本。

application应用目录
public 存放图片,css等公共静态文件目录
thinkphp框架核心目录
.htaccess分布式配置文件
composer.json给compose软件使用的说明文件
index.php项目入口文件

thinkphp目录下

behavior行为文件目录
org为功能扩展目录
think最核心的目录
vendor第三扩展目录

PHP全栈从入门到精通1

PHP全栈从入门到精通1

模板内容获取方法:

$this -> display(); 展示模板
$this -> fetch(); 获取模板(有返回值)
public function login(){
 //展示模板
 // $this -> display();
 $str = $this -> fetch();
 // dump打印
 dump($str);
}
dump 打印变量,打印方法

PHP全栈从入门到精通1

thinkphp中的注解是属于服务端的注解,不会在浏览器中输出,而html的会。

public function test(){
 $array = array('da','dashu','dashucoding');
 //变量分配
 $this -> assign('array',$array);
 // 函数模板
 $this -> display();
}

入口文件:

header('content-type:text/html;charset=utf8');
public function test(){
 // 实例化student对象
 $stu = new student();

 $stu -> id=1;
 $stu -> name=dashu;
 // 变量分配
 $this -> assign('stu', $stu);
 // 展示模板
 $this -> display();
}

PHP全栈从入门到精通1

获取服务器的相关信息
获取get请求的信息
获取post请求的信息
获取get和post中信息
获取cookie中的信息
获取session中的信息
获取thinkphp中所有配置文件的一个总和

获取get请求中的id {$think.get.id}
public function test() {
 // 展示模板
 $this -> display();
}
$think.server.path
$think.get.id
$think.request.pid
$think.cookie.phpsessid
$think.config.default_module

语法格式:

{$变量 | 函数名1 | 函数名2 = 参数1,参数2,...}

函数名1:表示需要使用的第一个函数
函数名2:表示需要使用的第二个函数
参数1、参数2:函数2的参数

// 模板中函数使用
public function test() {
 // 定义时间戳
 $time = time();
 //传递给模板
 $this -> assign('time', $time);
 // 展示模板
 $this -> display();
}

时间戳的格式化,格式化时间戳使用的函数是date

date(‘y-m-d h:i:s’,时间戳);
<body>
{$time | date='y-m-d h:i:s',###}
</body>

截取字符串使用函数substr
转化大写使用函数strtoupper

默认值 {$变量名|default=默认值}

// 默认值
public function test() {
 // 定义一个空的字符串
 $sign = '';
 // 传递给模板
 $this -> assign('sign', $sign);
 // 展示模板
 $this -> display();
}

默认值的使用:
{$sign | default='dashucoding'}

运算符:

++  {$a++} 或 {++$a} 自增运算
--  {$a--}  或 {--$a}    自减运算

public function test(){
 // 定义两个变量
 $a = 10;
 $b = 10;
 // 传递给模板
 $this -> assign('a',$a);
 $this -> assign('b',$b);
 // 展示模板
 $this -> display();
}

在模版中进行运算:
<body>
 变量a = {$a},变量b = {$b}<br/>
 a+b={$a+$b}<br/>
...
</body>

文件包含

<include file=’需要引入的模版文件’ />

创建出三个模版文件
body.html
foot.html
head.html

// 展示头部
public function head() {
 // 展示模板
 $this -> diaplay();
}
// 展示body
public function body() {
 // 展示模板
 $this -> dispaly();
}
// 展示尾部
public function foot() {
 // 展示模板
 $this -> display();
}

body.html

<body>
<include file="head.html"/>
<div>dashucoding</div>
<include file="foot.html"/>
</body>

<body>
<include file="test/head"/>
<div>dashucoding</div>
<include file="test/foot"/>
</body>

<include file=’需要引入的模版文件’ 参数名=’参数值’ />

<body>
<include file="test/head"/>
<div>dashucoding</div>
<include file="test/head" title="dashu"/>
</body>

foot.html
<div>da [title] </div>

循环遍历volist标签、foreach标签

volist语法:
<volist name="需要遍历的模板变量名" id="当前遍历到的元素">
循环体
</volist>

foreach($variable as $value){
 循环体
}

foreach语法格式:
foreach($variable as $value){
}

<foreach name="需要遍历的模板变量名" item="当前遍历到的元素">
循环体
</foreach>

一维数组遍历

// 数组遍历
public function test(){
// 定义一维数组
 $array = array('da', ' dashu', 'dashucoding);
// 二维
 $array2 = array(
  array('da','dashu','dashucoding'),
  array('da','dashu')
 );
 // 传递给模板
 $this -> assign('array', $array);
 // 展示模板
 $this -> display();
}
<body>
 <volist name="array" id="vol">
 </volist>
 {$vol}
 <hr/>

 <foreach name="array" item="for">
  {$for}
 </foreach>
</body>

PHP全栈从入门到精通1

<if condition=’条件表达式’>
...
<elseif condition=’条件表达式2’/>
...
<elseif condition=’条件表达式3’/>
…
<else/>
...
</if>
public function test(){
 //输出今天的星期数字
 $day = date('n',time());
 // 传递给模板
 $this -> assign('day',$day);
 $this -> display(); 
}

<if condition="$day == 1">
星期一
<elseif condition="$day == 2"/>
星期二
...
<else/>
星期天

PHP全栈从入门到精通1

禁用php标签:

tmpl_deny_php: false

PHP全栈从入门到精通1

PHP全栈从入门到精通1

未完!!!

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

作者简介

达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文章,会上瘾!,帮你成为更好的自己。长按下方二维码可关注,欢迎分享,置顶尤佳。

感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!

这是一个有质量,有态度的公众号

喜欢本文的朋友们

欢迎长按下图关注订阅号

收看更多精彩内容

PHP全栈从入门到精通1

PHP全栈从入门到精通1