文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php学习路线

2023-09-08 12:52

关注

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯