phpenv支持的PHP版本从5.2~7.4最新版都有,MySQL数据库从5.0~8.0也都可以,同时还有Apache,nginx和iis三大web服务器可随意切换,memcached和Redis也集成了,对于PHP版本有不同要求的本地测试环境可以说是太方便了,能够很方便地为不同的网站配置所需的PHP版本和web服务器,而且只需要安装就可以使用,无需额外复杂的配置,即使是新手不懂环境安装的小白也可以很好的驾驭。还有一个优点就是不会占用电脑太多资源,开启phpenv集成环境后,不会明显感觉电脑卡,这对于我这样的电脑配置不高的人可是福音啊,所以推荐使用phpenv。
phpenv的使用也非常简单,首先去phpenv官方下载安装包,然后将phpenv安装在D盘,安装过程中没有特殊说明,只需要一直下一步直到完成即可。安装好phpenv集成环境之后,你会在安装目录看到有一个www的文件夹,这个文件夹就是用来存放网站程序的,去dedecms官方下载完整版utf8编码的安装包,解压缩后将upload文件夹拷贝到phpenv安装目录下的www文件夹里面,将upload文件夹重命名为你想要在本地搭建测试环境的一个域名(比如v2-asd.com),这里这样命名是为了方便识别多个网站,但是千万不要使用可以正常访问的网站域名。
点击桌面上的phpenv快捷方式启动,首先配置一下host,下图所示,点工具栏上的“工具”,下拉中选择“配置hosts”。
弹出来的编辑窗口里面,在最后添加一行“127.0.0.1,打一个空格,后面填写你要本地访问的域名”,添加完成之后点左上角的那个保存按钮保存,关闭对话框,这个文件的路径默认在C:\Windows\System32\drivers\etc里面。
回到phpenv的主界面上,点站点管理,会进入所有的站点列表页面,在这里可以对站点进行增加、删除或修改,在底部有一个“增加”按钮,点击新建站点。
在“网站域名”这里填写前面添加在hosts文件中的域名,网站目录这里选择phpenv安装中前面拷贝到www文件夹里面并且重命名的那个文件夹,PHP版本可以选择已经安装了的版本,下拉即可看到,设置好了之后点“新增”。
完之后就可以看到新增加的站点了,如下图所示。
上面的步骤完成之后关闭窗口,回到phpenv主界面上面,点“启动”按钮,所有的配置就绪,启动环境,默认是Apache+MySQL,使用默认的方式就行。
打开浏览器,在地址栏输入前面预先设置好的域名,这时会自动跳转到dedecms的安装界面,把同意安装协议前面的对勾选上,点“继续”安装。
进入环境检测,这一步主要是检查安装环境有没有问题,如果出现有红颜色叉的说明要修改环境的配置,这里面只要全部都是绿色的对勾,说明所有的配置完全正确,点继续即可。
进入网站信息的配置,这一步比较重要,“默认模块”这里一个都不要选择,等安装完成之后再去后台安装即可;在数据库信息这里,phpenv默认的数据库用户名和密码都是是root;如果你打算将这个系统的数据用于实际的网站运营,数据表前缀一定要修改,把默认的“dede”改成其他的,比如改为“mydf_”这样的,有利于网站的安全,在安装的时候设置好,安装完成了再想修改数据表前缀比较麻烦,这是经验;数据库名称可以使用默认的,也可以自己添加一个。
1、GitHub
大名鼎鼎的GitHub,应该是每个程序员的心头好。GitHub上有大量的优秀项目,像Git本身的源码,还有Linux内核源码,在GitHub上都能找得到。GitHub上可以通过榜单、主题等方式找到我们需要的项目,多做一些项目能帮助你快速提升自己的技术,对个人的技能加强还是很有帮助的。
2、CSDN
3、LeetCode
现在算法的重要性不言而喻,相信很多朋友都有面试的时候被问到算法的经历。而提到算法,就避不开leetcode。现在很多人都用leetcode刷算法,因为里面有大量的算法题。如果能刷完里面的大部分算法题,那么你的算法水平应该会突飞猛进,无论是长期学习还是突击巩固,都很合适。
4、codecademy
5、stackoverflow
stackoverflow也有点厉害,是一个程序员问答平台,而且都是一些较专业的回答。但要提醒大家一下,搜索的时候尽量使用英文,用中文搜索得不到太多结果哦。
6、资源网站
这个资源网站有超多高质量资源,想要什么资料,在这里直接搜索就可以,非常方便。而且可以在下拉菜单里直接选择需要的资料,所以它的特点就是快速、高效且免费。
7、菜鸟教程
菜鸟教程很适合新手,它里面有编程的基础技术教程,介绍了HTML、CSS、Javascript、Python,Java,C,PHP,MySQL等编程语言的基础知识,教程非常全面详细。它还提供了非常多工具,很多都是无需开启代码编写程序,就可直接运行代码的。
8、51自学网
51自学网很多程序员在上大学的时候会接触过,这个网站有不少编程类的学习视频,而且视频大部分免费,付费视频也不贵,就几毛几块钱这样,是真的便宜又好用。
9、B站
小破站是最后一个推荐的,因为严格来说它不是一个学习类网站,只不过它画风跑偏,越来越多干货视频出现在上面。对于程序员来说,只要输入关键字,很多类型的编程语言,编程技术,几乎都可以在B站上找到视频教程,而且大部分都是免费的,很值得用起来。
学习PHP的朋友们都知道,PHP在中小型企业的应用是非常广泛包括建站、小程序、CRM与OA等。那么作为基础中的基础,PHP面向对象你又掌握了多少呢?
什么是面向对象?
面向对象就是把生活中要解决的问题都用对象的方式进行存储–把所有的数据用属性、方法表现出来。
面向对象编程就是编程的时候数据结构(数据组织方式)都通过对象的结构进行存储,使用属性和方法组织起来。对象之间的互动是通过方法的调用完成互动。
对象的描述方式更加贴合真实世界,有利于对大型业务的理解,具有多人合作方便、减少代码的冗余、灵活性高、代码的可重用性发挥到极致、可扩展性等优势。
五大设计原则——SOLID
学习面向对象编程像“抽象”、“封装”、“多态”、“继承”等基础知识是重要的,但同时为了创建简洁、模块化的设计,了解这些设计原则也同等重要。
接下来,本文就为大家介绍面向对象设计的5个基本原则:
S–单一功能原则(SRP)
O–开闭原则(OCP)
L–里氏替换原则(LSP)
I–接口隔离原则(DIP)
D–依赖倒置原则(OCP)
单一职责原则
单一职责有两个含义:一个是避免相同的职责分散到不同的类中,别一个是避免一个类承担太多职责。
遵守SPR原则的优势:
●减少类之间的耦合:当需求变化时,只修改一个类,从而隔离了变化带来类对其他职责的影响
●提高类的复用性:按需引用,一个类负责一个职责,需求的变动只需要修改对应的类或增加某一职责
●降低类的复杂度:职责单一,功能分散开降低一个类多个职责类的复杂度
不遵守SRP会影响对类的复用性。当只需要用该类的某一个职责时,由于它和其他的职责耦合在一起,也就很难分离出。
代码示例:
开闭原则
对象和实体应该对扩展开放,但是对修改关闭。
简单的说就是,一个类应该不用修改其自身就能很容易扩展其功能。
比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。
里氏替换原则
如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。
这句定义的意思是说:每个子类或者衍生类可以毫无问题地替代基类/父类。
这就好比:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。
接口隔离原则
接口隔离原则是指:客户端不应该被强制去实现于它不需要的接口。
有一个清晰的例子来说明示范这条原则。当一个类需要一个大量的设置项,为了方便不会要求客户端去设置大量的选项,因为在通常他们不需要所有的设置项。使设置项可选有助于我们避免产生“胖接口”。
依赖倒置原则
这条原则说明两个基本的要点:
●高阶的模块不应该依赖低阶的模块,它们都应该依赖于抽象
●抽象不应该依赖于实现,实现应该依赖于抽象
这条起初看起来有点晦涩难懂,但是如果你使用过PHP框架(例如Symfony),你应该见过依赖注入(DI)对这个概念的实现。虽然它们不是完全相通的概念,依赖倒置原则使高阶模块与低阶模块的实现细节和创建分离。可以使用依赖注入(DI)这种方式来实现它。更多的好处是它使模块之间解耦。耦合会导致你难于重构,它是一种非常糟糕的的开发模式。
总结
面向对象设计需要遵守如上原则,不过实际的代码设计一定要简单、简单、简单。在实际编码中要根据情况进行取舍,一味遵守原则,而不注重实际情况的话,可能会让你的代码变的难以理解
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。
一、安装ThinkPHP5
安装需求:PHP版本不得小于5.4;
1、从官网进行下载安装
2、通过composer进行安装
如果还未安装composer,请先安装composer并配置环境变量
运行如下命令,进行安装:
composercreate-projecttopthink/think=5.0.*tp5--prefer-dist
3、通过git安装
3.1、运行如下命令,安装thinkphp的应用项目
安装成功后的界面:如下图所示
3.2、进入到刚才已下载的tp5目录下,运行如下命令,安装thinkphp的核心框架
如果浏览器显示如下图所示,则说明框架安装成功。
二、目录结构框架的目录结构,如下图所示:
application:应用目录
index:模块目录
index/config.php:模块配置文件
index/common.php:模块公共函数文件
index/controller:控制器目录
index/model:模型目录
index/view:视图目录
config.php:应用配置文件
command.php:命令工具配置文件
common.php:应用公共函数文件
tags.php:应用行为扩展定义文件
extend:扩展类库目录
public:WEB部署目录(对外访问目录)
static:静态资源存放目录(css,js,image)
index.php:应用入口文件
.htaccess:用于apache重写
router.php:快速测试文件
runtime:应用的运行时目录
vendor:通过composer安装的第三方类库目录
thinkphp:系统核心目录
lang:系统语言包目录
library:框架核心类库目录
tpl:系统模板目录
base.php:基础定义文件
route:路由配置目录
三、ThinkPHP框架最基本的架构
thinkphp是基于MVC模式开发的,业务逻辑、数据、界面显示分离,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
1、入口文件
用户发起的请求都会经过应用的入口文件,通常是public/index.php文件。入口文件的内容如下:
在入口文件index.php中加载了基础文件base.php文件,在base.php中干了这样一些事情:
载入Loader类
注册自动加载
注册错误和异常处理机制
实现日志接口
注册类库别名
加载完基础文件之后,最后在index.php中执行应用并响应。
2、应用
ThinkPHP的应用是一个管理系统架构及生命周期的对象,由系统创建完成,应用通常在入口文件中被调用和执行,每个应用都具有自己独立的模块、config配置文件以及common公共函数文件。
3、模块
一个应用是可能是由多个模块组成的,通俗的来说,这些模块即为该应用目录下面的一个个的子目录,每个模块都有自己独立的MVC结构、config配置文件以及common公共函数文件。
注:模块名称请避免使用PHP保留关键字,否则会造成系统错误。
4、控制器
5、模型
模型类通常完成实际的业务逻辑和数据封装,并返回和格式无关的数据。在定义模型时,要注意和表名对应,因为框架中的模型会自动对应数据库中的数据表。在ThinkPHP中模型类的命名规则是除去表前缀的数据表名称,命名方式采用的驼峰命名法,而且模型的首字母要大写。
6、视图
视图接收从控制器渲染过来的数据,将数据渲染的成用户可见的页面。
7、命名空间
命名空间是程序设计者命名的内存区域,程序设计者根据需指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开。
通俗的说,每个名字空间都是一个名字空间域,存放在名字空间域中的全局实体只在本空间域内有效。名字空间对全局实体加以域的限制,从而合理的解决命名冲突。
1、前往WordPress官网下载中文最新版wordpress-5.2.3-zh_CN,或点此直接下载。然后将wordpress-5.2.3-zh_CN压缩包拷贝到WWW根目录并解压得到一个wordpress文件夹,内含有WordPress建站所需的文件。
2、运行PhpStudyV8.0并启动Apache和MySQL,点击“网站”>>点击【创建网站】按钮>>在基本配置中输入域名(PS:可随意)>>点击根目录右侧的【浏览】按钮选择我们第1步的wordpress文件夹>>可选择PHP版本,默认是PHP7.3.4>>备注的话建议填写一下,如WordPress演示站之类的说明。具体如下图:
3、因为我们是第一次创建WordPress网站,所以在“创建环境”中勾选“创建数据库”,然后输入数据库名称、用户名和密码(PS:密码不得少于6位否则创建数据库失败),最后点击【确认】按钮。具体如下图所示:
稍等片刻出现“创建数据库完成”提示后点击【确认】按钮即可成功创建网站(PS:建立WordPress网站还需要继续安装才行,请看第4步)。
至于其他的选项,如高级配置、安全配置、错误页面、伪静态和其他等,因为只是在本地测试网站所以可以不用理会,有意的可自行点击来查看和设置。
4、点击刚才创建的网站右侧的“管理>打开网站”即可打开WordPress站点的安装程序进行傻瓜式安装。如果不懂得WordPress安装的请继续往下看。
5、正常情况下,能够打开以下欢迎使用WordPress就表示可以正常安装WordPress,我们只需要点击【现在就开始!】按钮即可。具体见下图:
6、根据第3步创建的数据库信息填写数据库连接信息,真实建站中,建议修改表前缀,如wp_改为boke112_,然后点击【提交】按钮>>点击【现在安装】按钮。
7、填写站点标题、站点管理员的用户名及密码、电子邮件,因为是本地测试网站,建议勾选“建议搜索引擎不索引本站点”(PS:真实建站的时候,如果站点内容还没有也建议勾选,站点正常的情况下不要勾选,事后可以在后台>>设置>>阅读中重新设置),然后点击【安装WordPress】按钮即可成功安装WordPress。具体见下图:
其实,WordPress建站和ZBlogPHP建站都差不多,都是傻瓜式操作,根据步骤一步步操作即可成功建立相应网站。如果你是第一次接触WordPress的话,建议参阅『WordPress新手入门教程』。
PHP语法
PHP脚本可以放在文档中的任何位置,以“
我的第一个PHP页面
运行结果:
PHP中的代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来;
PHP有两种注释方式:“//”用于单行注释,“/**/”为多行注释;
PHP的输出方式
PHP的基本输出方式有两种:echo和print。两种基本输出方式都可以在页面中输出内容,都是语言结构,使用的时候可以加上括号,也可以不用加括号:echo/print或echo()/print()。
");print"这是print输出
";print("这是print()输出
");>
虽然看起来两种输出方式看起来没有区别,但是echo输出的速度比print快,echo没有返回值,可以输出一个或者多个字符串;print有返回值,值为1,只能输出一个字符串。
除了基本输出外,还可以使用var_dump()输出类型和值和var_export()输出结构信息。
自媒体在现今自媒体行业蓬勃发展的今天可以说每个人都可以是一个自媒体,但他们也有区分。第一种高度依赖各大媒体平台,可以说一身荣辱全系与此。另一种是独立站点自媒体,这种媒体有着广阔的空间,但运营的压力较大。
当我们做自媒体高度依赖平台时你会发现其实天花板很低,而且危险系数非常的高。如果有一天平台以某种理由将您的频道暂停,那么您的一切都将付诸东流。
上面我们说独立站自媒体的运营压力较大,其实也是相对而言的。只要我们专注持续的输出好的内容,各大搜索引擎一定会给我们流量的。且在推广方面我们也可以借助各大平台,在发布图文时下方带一个我们自己独立站点的链接地址,如:本文转载自XXX原网址:xxxxxxx这样。
相对来说独立站点自媒体先期运营困难,一但IP上去那么变现方式非常灵活,完全自主、自控。那么可能有很多人会说自主站点搭建的成本可能会比较高,刚入门没有收入的自媒体新手可能不适合这样的方式。其实不是的,现今互联网上有很多优秀的开源项目,足以满足我们的需求。下面我就来介绍一个可以满足自媒体独立站点的开源程序,它就是WORDPRESS。
在浩瀚的互联网中有一个自媒体人有一个自己的独立站点,就等于有了自己的一套房子。金窝银窝也不如自家的狗窝啊,我觉得这样才更有安全感。起码不用担心被某平台限流,不交钱就没流量这很苦逼的。自己的站点自己说了算这才符合我们的长远发展。
以上观点由于个人的文化水平有限可能完全没有说到精髓,也可能让你看的一头雾水。请各位大老爷担待,我想表达的就是一个低成本建立独立站点的方法与它能带来的好处。
代表方向
人工智能
Python
何为Python
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。
学习步骤
1、PythonIDE,本文为大家推荐几款款不错的PythonIDE(集成开发环境),比较推荐PyCharm,当然你可以根据自己的喜好来选择适合自己的PythonIDE。
PyCharm
PyCharm是由JetBrains打造的一款PythonIDE。PyCharm具备一般PythonIDE的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持GoogleAppEngine,更酷的是,PyCharm支持IronPython。
2、编码规范
包括下面几个点:分号、行长度、括号、缩进、空行、空格、Shebang、注释、模块、函数和方法、类、字符串、语句、访问控制、命名约定这些方面去学习基本语法。
3、基础教程
高级教程
认识基本的语法等基础后就可以开始写hellowworld!
#!/usr/bin/python3
print("Hello,World!");
Python已经是数据分析和AI的第一语言,网络攻防的第一黑客语言,正在成为编程入门教学的第一语言,云计算系统管理第一语言,也成为Web开发、游戏脚本、计算机视觉、物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶,所以python是一门很有前景的开发语言。
--------------------------------------------------
本人现处广州从事互联网工作多年,资深技术人员、管理人员。愿结识有互联网业务的技术人员或企业人员。
第一课php是什么?
在教程正式开始之前,给大家说一下学习php的各种疑虑。很多人说我没有任何基础我能学会吗?我不会英语我能学会吗?我数学不好我能学会吗……这一些列的疑虑都不是问题,编程就是用来解决具体问题的,我们的教程会以具体的需求出发,步步深入。只要你会电脑基础操作,有一颗上进心就够了!学习的道路上免不了各种浮躁,希望大家可以静下心,踏踏实实地学下去。
在php的学习道路上,我觉得一切要从需求出发,如果一上来就开始各种理论学习,相信会有很多人坚持不下去,即便是硬撑着学下去,也会边学边忘没有任何效果。这也是我自己的亲身体会,所以本套教程会从实际需求出发,一步步引导初学者进入php的世界。
我给大家解释一下什么是从需求出发?
首先我们要明白php是什么,
PHP(“PHP:HypertextPreprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web开发。
以上描述估计新手朋友也很难理解,所以我们干脆直接了解下php能干什么!
php能干什么!
php能开发出一个企业展示网站吗?能!
php能开发出一个购物商城吗?能!
php能开发出一个会员管理系统吗?能!
……
以上就是具体的需求,如果今天第一课就教会大家怎么用php开发出一个企业网站显然是不可能因为需求太大,所以我们就把大需求拆成小需求,也就有了我们的第一个需求:
php能实现1+1等于2吗?
现在需求已经有了,下面就是怎么实现了,先来给大家看一下实现这个需求的php代码:
以上代码被执行后,会得出1+1=2的结果,也就实现了我们的第一个需求。
讲到这里相信大家脑袋里都会有一个疑问,代码有了,怎么运行呢?
好了,今天的教程就到这里,希望大家带着这个疑问好好的思考一下,或者是自行百度一下,这也是我们第一课的课后作业,下一课我们将解密php代码怎么运行、以及php运行环境的搭建!