php的语法中,有一些系统自带的方法名,均以双下划线开头,它会在特定的情况下被调用。即所谓的魔法函数。
魔术函数
1。__construct()
实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。
2。__destruct() 当删除一个对象或对象操作终止时被调用。
3。__call() 对象调用某个方法, 若方法存在,则直接调用; 若不存在,则会去调用__call函数。
4。__get() 读取一个对象的属性时, 若属性存在,则直接返回属性值; 若不存在,则会调用__get函数。
5。__set() 设置一个对象的属性时, 若属性存在,则直接赋值; 若不存在,则会调用__set函数。
面向对象编程中使用频率很高的两个方法.当设置和获取对象的属性不允许访问时性,此方法会被调用。一定注意是不存在或不允许被读写时才会被调用。
因此对于一个对象,其属性不确定时,用这两个方法效果很好。
__get($name) 获取对象不存在的属性或无法访问的属性时调用.$name表示要获取的属性名
__set($name, $value) 设置对象不存在的属性或无法访问的属性时调用.$name表示要设置的属性名,$value表示要设置的值.
//例如:我们可以构建一个不确定属性的数据记录类
class Record {
protected $_data;
public function __get($name)
{
if (isset($this->_data[$name])) {
return $this->_data;
}
return false;
}
public function __set($name, $value)
{
$this->_data = $value;
}
}
$record = new Record();
$record->name = 'andrew';
echo 'My name is '.$record->name.PHP_EOL;
这两个方法用得比较少些。当调用方法isset()判断对象是否存在某属性, 调用unset()注销某属性时。且当这些属性不存在或不可访问时,会分别调用__isset()和__unset()方法
与前面的__get()和__set()略同。都是某属性不存在或不可访问时被调用
__isset($name) 当调用方法isset()方法判断不可访问的类属性时调用.$name表示属性名.
__unset($name) 当调用方法unset()方法删除不可访问的类属性时调用.$name表示属性名.
6。__toString() 打印一个对象的时被调用。如echo $obj;或print $obj;
classInfo{
publicfunction__toString()
{
return"info";
}
}
$info = new Info();
echo $info.PHP_EOL;
7。__clone() 克隆对象时被调用。如:$t=new Test();$t1=clone $t;
8。__sleep() serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
9。__wakeup() unserialize时被调用,做些对象的初始化工作。
__sleep() 和 __wakeup()
这两个方法,咋一看,就是睡觉和唤醒嘛。那跟对象有什么关系?有时候该用的时候也想不起来。其实,我们简单点记,在php中有一个让对象睡觉的方法,叫searialize(),
它会将对象的各属性序列化以方便保存起来。而unsearialize()方法是将保存的序列化的数据解开变成对象。也叫唤醒。相对应的,当睡觉时,php会调用__sleep()方法,它
的返回值必须是一个数组,表示需要保存的属性项, 对于文件句柄,数据库连接等资源类型的数据是不能被序列化保存的。同理唤醒对象时,php会调用__wakeup()方法,
但与__sleep()不同的是,它返回值为空。被保存的属性都会被解开。那它有什么用呢?刚我们说了,searialize是不能保存资源的。那么唤醒时如果我们想用到这些资源怎么
办?回答很肯定,重新创建?那在哪里创建合适呢?当然是__wakeup()方法里面,因为每次唤醒时都会调用此方法嘛。这下我们很清楚这两个方法的用途了。
__sleep() 当调用searialize()方法时调用,返回值为数组,表示需要序列化的数据项.
__wakeup() 当调用unsearizlie()方法时调用。一般用来在唤醒时初始化资源对象.
//例如我们有一个用户类,用户名和性别都是类属性。用户的密码存在文件中
Class User {
public $username;
public $sex;
public $passFile;
private $_password;
public function __construct($username, $sex, $passFile)
{
$this->username = $username;
$this->sex = $sex;
$this->passFile = $passFile;
$this->_password = file_get_contents($passFile);
}
public function getPassword()
{
return $this->_password;
}
public function __sleep()
{
return array(
'username', 'sex', 'passFile',
);
}
public function __wakeup()
{
$this->_password = file_get_contents($this->passFile);
}
}
$user = new User('andrew', 'male', 'pass.data');
$serializeData = serialize($user);
echo $serializeData.PHP_EOL;
$user = unserialize($serializeData);
echo $user->getPassword().PHP_EOL;
10。__isset() 检测一个对象的属性是否存在时被调用。如:isset($c->name)。
11。__unset() unset一个对象的属性时被调用。如:unset($c->name)。
12。__set_state() 调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
13。__autoload() 实例化一个对象时,如果对应的类不存在,则该方法被调用。
魔术常量
1。__LINE__ 返回文件中的当前行号。
2。__FILE__ 返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
3。__FUNCTION__ 返回函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
4。__CLASS__ 返回类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
5。__METHOD__ 返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
学习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)这种方式来实现它。更多的好处是它使模块之间解耦。耦合会导致你难于重构,它是一种非常糟糕的的开发模式。
代码示例:
总结
面向对象设计需要遵守如上原则,不过实际的代码设计一定要简单、简单、简单。在实际编码中要根据情况进行取舍,一味遵守原则,而不注重实际情况的话,可能会让你的代码变的难以理解
虚拟主机(php)配置安装SSL教程
目前虚拟主机只有php主机支持SSL证书, 卓趣科技今天给大家介绍下操作步骤:
1、 首先上传您的apache证书到FTP的web目录下。
如上图红圈所示。
2、 登陆虚拟主机的自助管理平台,找到自助管理平台的安全管理,有个SSL配置。
3、 点击SSL配置,会看到SSL配置注意事项:如果需要开启SSL功能,需要关闭CDN加速功能,否则配置SSL证书会导致您的网站无法正常打开。如必须开启CDN,建议咨询CDN供应商是否支持SSL。
4、 点击开启SSL,提示成功,操作完成。
5、 设置http强制跳转https,首先开启伪静态功能,如下图所示,找到基本功能里的伪静态设置开启即可,通过在线FTP,在web目录下创建.htaccess文件,写入伪静态规则即可。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.quhr.cn/$1 [R,L]
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。
一、安装ThinkPHP5
安装需求:PHP版本不得小于5.4;
1、从官网进行下载安装
2、通过composer进行安装
如果还未安装composer,请先安装composer并配置环境变量
运行如下命令,进行安装:
composer create-project topthink/think=5.0.* tp5 --prefer-dist
3、通过git安装
3.1、运行如下命令,安装thinkphp的应用项目
git clone https://github.com/top-think/think tp5
安装成功后的界面:如下图所示
3.2、进入到刚才已下载的tp5目录下,运行如下命令,安装thinkphp的核心框架
git clone https://github.com/top-think/framework thinkphp
安装成功后的界面:如下图所示
安装完成,验证是否安装成功,在浏览器中输入:http://hostname/tp5/public/
如果浏览器显示如下图所示,则说明框架安装成功。
二、目录结构框架的目录结构,如下图所示:
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、命名空间
命名空间是程序设计者命名的内存区域,程序设计者根据需指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开。
通俗的说,每个名字空间都是一个名字空间域,存放在名字空间域中的全局实体只在本空间域内有效。名字空间对全局实体加以域的限制,从而合理的解决命名冲突。
本地集成PHP环境软件有太多,之前特别钟爱PHPnow这个小软件,因为无插件无广告,最重要的是占用电脑资源小,即使是配置很低的电脑也可以带得动,但是作者不更新了,PHP版本和MySQL版本都太低,自己升级实在太麻烦。于是找到了phpenv这个PHP集成环境,使用了几天感觉已经爱上了,相比其他的PHPstudy、wamp等集成环境,个人认为这是所有集成环境中最好使用的。
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”。
配置phpenv hosts文件弹出来的编辑窗口里面,在最后添加一行“127.0.0.1,打一个空格,后面填写你要本地访问的域名”,添加完成之后点左上角的那个保存按钮保存,关闭对话框,这个文件的路径默认在C:\Windows\System32\drivers\etc里面。
在hosts文件中添加域名回到phpenv的主界面上,点站点管理,会进入所有的站点列表页面,在这里可以对站点进行增加、删除或修改,在底部有一个“增加”按钮,点击新建站点。
phpenv站点管理phpenv新增站点在“网站域名”这里填写前面添加在hosts文件中的域名,网站目录这里选择phpenv安装中前面拷贝到www文件夹里面并且重命名的那个文件夹,PHP版本可以选择已经安装了的版本,下拉即可看到,设置好了之后点“新增”。
phpenv新增网站完之后就可以看到新增加的站点了,如下图所示。
增加phpenv站点预览上面的步骤完成之后关闭窗口,回到phpenv主界面上面,点“启动”按钮,所有的配置就绪,启动环境,默认是Apache+MySQL,使用默认的方式就行。
启动phpenv环境打开浏览器,在地址栏输入前面预先设置好的域名,这时会自动跳转到dedecms的安装界面,把同意安装协议前面的对勾选上,点“继续”安装。
phpenv环境下的dedecms安装进入环境检测,这一步主要是检查安装环境有没有问题,如果出现有红颜色叉的说明要修改环境的配置,这里面只要全部都是绿色的对勾,说明所有的配置完全正确,点继续即可。
dedecms安装环境检测进入网站信息的配置,这一步比较重要,“默认模块”这里一个都不要选择,等安装完成之后再去后台安装即可;在数据库信息这里,phpenv默认的数据库用户名和密码都是是root;如果你打算将这个系统的数据用于实际的网站运营,数据表前缀一定要修改,把默认的“dede”改成其他的,比如改为“mydf_”这样的,有利于网站的安全,在安装的时候设置好,安装完成了再想修改数据表前缀比较麻烦,这是经验;数据库名称可以使用默认的,也可以自己添加一个。
dedecms安装设置数据库信息继续设置网站管理员用户名和密码,默认都是admin,修改成自己的,只是本地测试的话使用默认就可以了,如果要把网站用于运营,这时候就直接设置成你的用户名和密码,避免安装好了再修改的麻烦。在网站名称这里填写你的网站名称,填写邮箱;需要特别说明的是网站网址,如果是在服务器上安装网站程序,你的网址使用了ssl证书,即https方式访问,要把网站网址后面的URL加上https,不然安装完了你会无法访问网站的,一般情况下默认即可。
dedecms安装管理员信息设置如果只是本地安装学习可以把“体验数据”后面的对勾选上,安装体验数据,体验数据会使网站不安全,正式运营的网站不要安装,点“继续”就开始安装了。整个安装过程会非常快,安装完成之后会进入下面的界面,点“登录网站后台”按钮去网站后台。
dedecms安装完毕输入用户名、密码和验证码,登录网站后台:
dedecms网站后台登录界面登录后台之后就可以看到各种设置等选项了,在phpenv集成环境上安装dedecms系统就全部完成了。相对来说安装方法比较简单,而phpenv环境的使用主要在于熟悉过程,如果对其他的如phpstudy等集成环境有使用过,那么对于phpenv也会很快上手,欢迎关注交流。
本文主要介绍PHP-X内置函数的使用,在PHP扩展开发中,会经常用到这些内置函数,PHP-X的封装,使得调用这些函数像PHP代码一样简单。
phpdisk,也许很多人没听说过,但是只要之前接触过那些网赚网盘,或者下载小电影的都应该接触过什么千军万马、城通之类的小网盘,包括已经倒闭的很多小网盘,都是使用的phpdisk搭建的。只是phpdisk网赚网盘系列是收费的,而且现在网赚网盘的时代已经过去了。VPS小学生这里和大家分享的是phpdisk办公网盘系列的。这个版本已经很长时间不更新了,最后一次更新是2014年。想在回头看2014年是移动互联网元年,那年discuz推出了3.2版本之后也落寞了,那一年微信公众号横空出世改变了中国互联网的生态。
好像扯的有点远了,还是说回phpdisk,phpdisk就跟老套的discuz或者dedecms一样,都是简单又主流的PHP建站程序,使用也很简单,配置好环境之后直接上传源文件到根目录就直接安装了。VPS小学生这里使用的是宝塔面板默认的LNMP环境。
把源码上传到根目录,然后在浏览器输入主域名开始安装:
输入数据库信息在前面是检测安装环境,默认的宝塔面板环境就完全通过,之后之类会让输入数据库名和密码,输入之后点击下一步:
选择数据库刚才完善数据库信息的时候就发现phpdisk跟别的CMS不一样,一般刚才那个页面就让填写数据库名了,到这一步才显示可以选择或者创建数据库,选择已经创建好的数据库就可以,然后下一步:
完成安装接下来设置管理员帐号密码和邮箱之后就安装成功了。这里有个网站密匙,虽然暂时不知道有什么用途,还是建议保存一下,安装成功之后删除根目录的install文件夹就可以了。
网站前台用户后台看了网站前台和用户后台之后是不是有种复古的感觉。特别是这个用户后台,前几年要是用过网赚网盘的应该都很眼熟。phpdisk前台后台都能实现图片预览,但是没有视频预览的功能。
管理后台在管理后台系统功能还是比较多的,比如会员系统、文件管理系统之类的,因为其实这就是phpdisk网赚网盘阉割了网赚分成系统的功能。
以上就是VPS小学生和大家分享的使用phpdisk搭建网盘的过程。phpdisk现在用的人已经很少了,因为不管是从功能,比如二维码之类的,从手机模板之类的,已经跟不上现在的时代了,但是作为PC端纯分享型的网盘程序,还是可以提一下的。
第一课 php是什么?
大家好,欢迎来到山鹰课堂,首先我自我介绍一下,本人89年,网名山鹰,山东临沂人,2010年北漂7个月,之后一直在临沂,目前在一家临沂本地电商公司做技术开发。我呢研究php到现在差不多10年的时间了,很久以前就想出一套适合新手入门的php教程,由于各种原因一直拖到现在。
在教程正式开始之前,给大家说一下学习php的各种疑虑。很多人说我没有任何基础我能学会吗?我不会英语我能学会吗?我数学不好我能学会吗 …… 这一些列的疑虑都不是问题,编程就是用来解决具体问题的,我们的教程会以具体的需求出发,步步深入。只要你会电脑基础操作,有一颗上进心就够了!学习的道路上免不了各种浮躁,希望大家可以静下心,踏踏实实地学下去。
phpshi'shen'm在php的学习道路上,我觉得一切要从需求出发,如果一上来就开始各种理论学习,相信会有很多人坚持不下去,即便是硬撑着学下去,也会边学边忘没有任何效果。这也是我自己的亲身体会,所以本套教程会从实际需求出发,一步步引导初学者进入php的世界。
我给大家解释一下什么是从需求出发?
首先我们要明白php是什么,
PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。
以上描述估计新手朋友也很难理解,所以我们干脆直接了解下php能干什么!
php能干什么!
php能开发出一个企业展示网站吗? 能!
php能开发出一个购物商城吗? 能!
php能开发出一个会员管理系统吗? 能!
……
以上就是具体的需求,如果今天第一课就教会大家怎么用php开发出一个企业网站显然是不可能因为需求太大,所以我们就把大需求拆成小需求,也就有了我们的第一个需求:
php能实现1+1等于2吗?
现在需求已经有了,下面就是怎么实现了,先来给大家看一下实现这个需求的php代码:
php演示dai'm以上代码被执行后,会得出1+1=2的结果,也就实现了我们的第一个需求。
讲到这里相信大家脑袋里都会有一个疑问,代码有了,怎么运行呢?
好了,今天的教程就到这里,希望大家带着这个疑问好好的思考一下,或者是自行百度一下,这也是我们第一课的课后作业,下一课我们将解密php代码怎么运行、以及php运行环境的搭建!
希望我的教程能给大家的php学习之路带去帮助,谢谢大家,下节课我们再见!山鹰课堂,专注电脑知识、php编程、前端技术等教程分享,觉得教程有用的朋友点赞加关注,点关注,不迷路,一大波干货教程在路上!
PHP语法
PHP 脚本可以放在文档中的任何位置,以 “<?php ”开始,以“ ?>” 结束,也可以在PHP脚本中使用HTML标签等;
<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><h1>我的第一个 PHP 页面</h1><?php/** * Created by PhpStorm. * User: Lucifer * Date: 2019/7/8 * Time: 18:35 *///开始和结束标签中间可以书写想要展示的内容//PHP代码段可以嵌套在HTML中,也可以在PHP代码段中输出HTML语句echo "<div style='width: 250px;height:250px;border: 1px solid fuchsia;background-color: bisque'></div>";?></body></html>
运行结果:
PHP 中的代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来;
PHP 有两种注释方式:“//”用于单行注释,“/* */”为多行注释;
<?php//这里是我的单行注释 echo "这是枫哥哥的第一段PHP代码"; /* 我这里注释了多行, 在这段注释中的内容都不会显示在前台页面中 */?>
PHP的输出方式
PHP的基本输出方式有两种:echo 和 print。两种基本输出方式都可以在页面中输出内容,都是语言结构,使用的时候可以加上括号,也可以不用加括号: echo/print 或 echo()/print()。
<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><?phpecho "这是echo输出<br>";echo("这是echo()输出<br>");print "这是print输出<br>";print("这是print()输出<br>");?></body></html>
运行结果:
虽然看起来两种输出方式看起来没有区别,但是echo 输出的速度比 print 快, echo 没有返回值,可以输出一个或者多个字符串;print有返回值,值为1,只能输出一个字符串。
除了基本输出外,还可以使用 var_dump() 输出类型和值 和 var_export() 输出结构信息。
前面 boke112 跟大家分享了『PhpStudy V8.0 如何建立 ZBlogPHP 网站?附图文教程』,今天我们就继续以建立 WordPress 站点为例说明一下 PhpStudy V8.0 是如何建立 WordPress 网站的?
1、前往WordPress 官网下载中文最新版 wordpress-5.2.3-zh_CN,或点此直接下载。然后将 wordpress-5.2.3-zh_CN 压缩包拷贝到 WWW 根目录并解压得到一个 wordpress 文件夹,内含有 WordPress 建站所需的文件。
2、运行 PhpStudy V8.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。点击【登录】按钮即可打开后台登录页面,输入第 7 步所填写的用户名及密码即可成功登录 WordPress 站点后台。
其实,WordPress 建站和 ZBlogPHP 建站都差不多,都是傻瓜式操作,根据步骤一步步操作即可成功建立相应网站。如果你是第一次接触 WordPress 的话,建议参阅『WordPress 新手入门教程』。