php学习路线
0.php环境搭建
单独搭建php非常麻烦,因此采用集成环境phpStudy,自带apache,mysql,nginx,php等。
编辑工具phpStorm或者vscode
composer,php包管理工具
thinkPHP,国内开源的web框架
1.php基础学习
php是功能强大的动态服务器脚本语言,不用编译直接运行,它强大在于web站点开发,提供了丰富的函数。ph被web服务器加载的php引擎解释执行。基础可以看php菜鸟教程或者黑马程序员PHP零基础入门到精通教程,有语言基础可以看下面是总结:
1.1基本语法
标记
or
变量命名参考c语言,大小写敏感,注释参考c语言,变量可以使用中文;
分号,注释
1.2变量
局部变量定义和使用,$var = 10;
静态变量,static $var,与局部变量不同的是生命周期,局部变量在函数运行完成内存删除,使用static修饰,不会被删除。
可变变量 $$
全局变量,定义在函数外部,函数内访问使用global
超级全局变量,php语言提供
$GLOBALS,全局变量组,所有变量都可放入,在一个PHP脚本的全部作用域中都可以访问。
$_SERVER,web服务器的所有信息
$_REQUEST,用于收集HTML表单提交的数据。
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
1.3 常量
1 普通常量
define,const定义,输出变量不需要$,特殊符号取值使用constant
define("GREETING", "欢迎访问 Runoob.com");echo GREETING;
1.3.2 魔术常量
php提供的预定义常量,__LINE__ __FILE__ __DIR__ __FUNCTION__(__METHOD__) __CLASS__ trait(override),__NAMESPACE__
";echo '命名空间为:"', __NAMESPACE__, '"'; ?>
1.4 类型
简单类型(integer,float,string,boolean),
字符串拼接“.”,strlen();
字符串,
复杂类型(数组,对象),
### 数组,
数组 array,
关联数组(键值对),$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
二维数组 array(array(),array())
数组排序
#### 对象
定义类class Site{}
创建对象 $runoob = new Site;
调用对象函数,$hello-> sayHello()
构造函数,function __construct( $par1, $par2 ){}
析构函数,接口,继承,访问控制等参考c++;
特殊类型(NULL,Resource))获取类型 var_dump($bian);
var_dump查看变量类型和值,类型比较使用== 只比较值,用 === 比较,除了比较值还比较类型。
"; //数组$cars=array("Volvo","BMW","Toyota");var_dump($cars);//数组遍历//类class Car{ var $color; function __construct($color="green") { $this->color = $color; } function what_color() { return $this->color; }}// 实例一个对象$herbie = new Car("white");//true,=== falseif(42 == "42") { echo '1、值相等';}?>
PHP中 比较 0、false、null、"" 松散比较true,严格比较false
1.5 函数
函数,值传递,引用传递,取地址&;
1.6 命名空间
相当于java包,c++命名空间,namespace
2. php高级
mysql,form,文件及上传等
3. php框架
ThinkPHP6.0完全开发手册
https://static.kancloud.cn/manual/thinkphp6_0/1037481
【李炎恢】【ThinkPHP6.x / PHP框架】【十天精品课堂系列】【83P / 已完结】,对着手册讲解
https://www.bilibili.com/video/BV12E411y7u8/
利用phpStudy搭建thinkphp,需要安装 composer
0.1 Phpstudy集成环境安装Composer
软件管理--》composer,安装;
phpStudy/extensions目录中,复制composer.bat 、composer.phar 两个文件到Extensions\php\php7.3.4nts 下面
Win+R 打开运行,并输入cmd,打开命令符窗口,输入composer -v 或者 php -v 命令,
配置 PATH 环境变量,“运行”输入sysdm.cpl,打开“系统属性”并切换至“高级”选项
编辑Path环境变量,E:\phpStudy\phpstudy_pro\Extensions\php\php7.3.4nts ;
E:\phpStudy\phpstudy_pro\Extensions\composer1.8.5
composer 设置阿里镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
查看镜像,composer config --list
无法下载tp,还原配置,
composer config -g repo.packagist composer https://packagist.org
composer 1.x 无法创建tp,需要升级到 2.0;
composer self-update
回滚,composer self-update --rollback
0.2 Composer创建单应用项目
单应用
稳定版安装命令: composer create-project topthink/think tp
更新thinkphp核心
composer update topthink/framework
运行 , php think run
0.3 单应用项目运行在Apache
/tp放到phpstudy的WWW目录下,新建虚拟主机指向project/public
多应用
在单应用中,添加composer require topthink/think-multi-app,然后进行如下调整
主要区别在app目录增加了应用子目录,然后配置文件和路由定义文件都纳入应用目录下。
创建多应用模块
下载多应用模块;composer require topthink/think-multi-app
4. php练手
ThinkPHP5.1新手博客项目实战,
黑马程序员ThinkPHP开发大型商城项目实战视频,提供学习思路;
https://www.bilibili.com/video/BV13s411h7Mb?p=8&vd_source=37a1eded1d0aa4243288d5a140577e3c
5. php实际项目源码阅读
勾股OA是一款基于ThinkPHP6 + Layui + MySql的OA项目,免费开源适合二开。
勾股OA部署思路
mkdir gougu;git clone;composer install;php think run;初始化
apache添加虚拟主机,并绑定pulic,访问,域名/index.php
配置pulic目录同级文件.htaccess文件,配置如下:
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
打开debug模式,复制.env.debug 重命名为 .env ,.env优先于Config配置;关闭删除.env
参考勾股OA在线文档
https://blog.gougucms.com/home/book/detail/bid/3/id/8.html
5. 常见问题
5.1 Phpstudy解决mysql无法启动问题
原因主机安装并启动了mysql,无法启动自身集成。
直接 管理员打开cmd命令行输入:sc delete mysql 见效!
重新使用MySQL,那就重启服务。`mysqld --install`。
命令行窗口输入:net start mysql ,可以正常启动;
5.2 phpStudy 数字出现乱码
控制面板-->区域,语言设置,简体中文(不是简体香港)
来源地址:https://blog.csdn.net/lanhuayushen/article/details/131260488
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341