后端开发需要学什么(计算机学前端好还是后端好)

猴哥资讯 312 2022-07-25 19:29:57

  时光如箭过去,今年是老张务农的第n年。 多亏了世界上最好的语言( PHP ),小张的头发还很茂盛。 然而,项目层出不穷,PHP、swoole用于飞翔,但这几年的增长却大大不如以前。

  你也在烦恼吗? 今天我们改变PHP的视角,打开源代码,从C的角度来看PHP,看看这个有20年历史的巨大的c项目是如何工作的。

  从这一刻开始,你将晋升为C程序员。 请复习一下C的语法、结构、指针和引用。

  你可能会问,看到代码git后,拉过来用sublime打开不就行了吗,为什么要写KM呢? 确实这样可以看到代码,但那叫看代码的片段,而不是看工程。 PHP项目还必须与Windows、Linux和Mac平台兼容,并且必须处理线程安全。 那个代码包含很多宏定义。 需要利用IDE的自动跳转和提示来更好地阅读。

  需要没有IDE错误消息的项目。 (即使想看一个方法也跳不动的时候,真的很痛苦) )。

  devCloud是内部用于开发调试的linux虚拟机。 没有的伙伴可以自己准备ssh的CentOS虚拟机,可以是本地虚拟机,也可以是云平台。 (你最好上网好一点。 从后面传达很多东西) )。

  接下来,您需要使用Clion作为c项目的IDE。 Clion必须使用cmake作为项目自动化构建工具。 因此,必须首先将其安装在cmake devCloud上。 yum的默认cmake版本为2.8.12.2,满足要求。 在这里直接用yum安装。

  re2c是语法生成器

  devCloud的gdb版本太低,现在必须手动安装符合要求的版本。 我选择了7.8.2

  选择php版本。 这里使用7.1.33版本。 有几个理由:

  1 .我在项目中使用了这个版本。

  2.php7对内核进行了重大更改,以前的php5不再适合学习。

  3 .后面介绍的书籍也是基于php7.0的版本接近php7.1。

  4.php8目前正在测试中,接近php7。

  注意:本地远程都提取一份,为了保持tag的一致性,两边都必须执行以下cmake改造

  想要做好事,就要先获利。 查看代码需要选择好的IDE。 多年来使用PhpStorm的我,建议使用家人桶里的Clion。 通常,您不会直接将Linux用作桌面系统。 这里使用Clion的远程部署功能,配合devCloud进行环境部署。 我的本地是Windows环境,构建在远程devCloud上进行。 (在WSL中也是一样,但是我觉得PHP的git仓库太大了,在WSL中进行git操作非常卡,是WSL文件系统的错误。)

  这一步是大多数同学无法使用Clion查看PHP源代码的主要原因。 由于PHP项目历史悠久,一直使用autoconfig作为项目自动管理工具。 但是,Clion不支持autoconfig,项目必须在cmake中生成,因此必须在cmake中重新生成php源代码。

  3359 wiki.PHP.net/internals/cmake官方网站上有cmake的改造文档。

  3359 github.com/gloob/PHP-cmake github也有相应的代码。

  但是这个文档和代码都太旧了,我觉得是PHP5年代的代码。 我对这个项目进行了一些升级,PHP7(因为水平有限,所以可能有问题。 欢迎来到宣传。

  在本地运行以下命令,clone php-cmake项目、切换分支以及将php-cmake/cmake中的所有文件复制到php源目录中: 请注意合并目录。

  在此设定远程机器的信息,设定相关工具的路径。 一般自己识别,但不能识别的话可以手动输入。 检查版本。 默认的devCloud上的版本似乎都不正确。 我需要自己升级。

  这里需要设置代码同步的目录。 设置后,请单击将其设置为默认值。 以上Toolchains设置完成后,默认情况下此处可能会出现devCloud信息,但Mappings中的Deployment path位于/tmp/目录下。 您可以删除自己的配置,或者直接将Deployment path更改为所需的项目目录。

  注:如果windows需要使用/拆分路径,则此处的Local path不是windows的默认值。 否则,运行cmake构建时将显示一条消息,指示找不到目录。

  在Options中,可以将. phpt文件设置为不同步php项目的测试用例文件。 (我们在拉动代码时,实际上是手动确保本地计算机和远程计算机上的文件匹配,但Clion会再次自己同步。 如果设置此选项,同步速度将加快。 )

  将代码同步到devCloud。 第一次同步真的很慢,需要耐心等待。

  是否要运行cmake内部版本以查看错误?

  PHP cmake内部版本将远程生成一些文件,因此必须在本地同步这些文件。 否则,由于. c .h文件的一部分不存在,因此打开代码时将没有代码提示,并出现各种错误。

  选择对照方式使用Size adn Timestamp会稍微快一点。 这里很慢,请耐心等待。

  分析完成后,与本地相比,远程系统可以看到更多的文件。 需要进行本地同步。 最上面的

  . clion.source.upload.marker不需要同步,可以单击红框箭头取消。 然后,单击同步。

  打开php_cli.c看看源代码,不是一条红线都没有吗?

  光看是绝对不行的。 最好通过代码来打开断点,以便更深入地了解执行机制。 你可以在gdb上走到断点。 我这里既然用了clion,就直接使用clion的断点功能。 使用起来更直观。

  1、准备yong.php编写一点用于制作测试文件的代码。

  2、在此布置运行部署。

  3、设置数组和工作目录

  4、远程同步yong.php文件。 请尝试执行以下操作:

  5、断点。 真的很爽~~~

  PHP项目包含许多目录,其功能大致如下:

  事实上,这些目录与源代码相关,在Clion中它们被标记为Source和Header目录,这对于IDE构建索引非常有用。

上一篇:长期喝茶叶水有什么好处
下一篇:甘蓝粉有的贵有的便宜为什么 羽衣甘蓝粉怎么搭配好喝
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

返回顶部小火箭