PHP
作为web最好的选择
PHP
-
携带token要先设置后端header的Access-Control-Allow-Headers
PHP
阅读更多风口下的猪2020-06-06发表在【PHP】
-
super()和this()
PHP3.引用构造函数
super(参数):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)。this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)
阅读更多风口下的猪2019-09-17发表在【PHP】
-
protected、private、public的区别
PHPpublic表示该数据成员、成员函数对所有用户开放;
private表示该数据用户、成员函数只对自己类中的方法有权调用;
protected表示该数据用户、成员函数对其子类是开放的,即自己和子类可用。
阅读更多风口下的猪2019-09-03发表在【PHP】
-
PHP声明带有默认值的参数方法,调用时传参问题
PHP带默认值的就是指当这些参数没有给出的时候可以按照预定义内容进行赋值。
阅读更多风口下的猪2019-08-27发表在【PHP】
-
实例化php类的时候如何传参
PHP当我们实例化一个php类的时候,要怎么传递参数呢?这取决于该类的构造方法。
例:
person.class.php<?php
class person{
var $name;
var $color;
var $sex;
var $age;
function __construct($name,$age='',$sex='boy'){
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
$this->color = 'yello';
}
function eat(){
echo $this->name.'要吃饭';
}
function xinxi(){
echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
}
function zuoyong(){
//类似于这样的内部调用,相当于把eat()的代码引入到zuoyong()里面,而不是跳转到eat()里面继续执行
//如果是http://localhost/zuoyong?food=xigua这样的url来调用zuoyong()
//那么eat()中可直接通过$_GET['food']获取url参数,因为全局变量可在函数内部使用
$this->eat();
}
}
?>son.php
<?php
include('person.class.php');
$son = new person('cuihua',25,'girl');
//此处的参数传递要和类的构造方法里面的参数顺序对应
//$son->xinxi();
//cuihua is girl and age is 25 fuse is yello
$son->name = '田妞';
$son->eat();//田妞要吃饭
?>注:php类的属性(
$name
、$age
等)可以在该类的全局范围内使用,可以把类的属性视为“该类的”全局变量。但是当外部程序重新调用这个类中的方法时,该类会重新被实例化,也就是说要再次执行构造方法,那么上一次给$name
等属性赋的值就会被清空,所以$name等属性的值不会像常量或是session中的值那样一直保持下去。son2.php
<?php
include('person.class.php');
$son = new person('cuihua',25,'girl');
$son2 = $son;
$son2->name = '田妞';
$son->eat();//田妞要吃饭
?>当我把
$son
对象赋予$sin2
之后,改变了$son2
的name参数,此时发现$son
的name参数也响应的跟着改变,由此可见:在php5中,把对象赋值给变量,是按引用传递对象,而不是进行值传递,此时并不会创建$son的副本。传递对象到函数,或从方法返回对象,是引用传递还是值传递,待验证。可以通过var_dump()打印对象,不过只能打印对象的属性,它的方法不能打印出来,要想获取对象的方法列表,可以用
get_class_methods
函数。<?php $son = new person('cuihua',25,'girl');
var_dump($son); /*object(person)[1] public 'name' => string 'cuihua' (length=6) public 'color' => string 'yello' (length=5) public 'sex' => string 'girl' (length=4) public 'age' => int 25*/
public 'name' => string 'cuihua' (length=6)
public 'color' => string 'yello' (length=5)
public 'sex' => string 'girl' (length=4)
public 'age' => int 25*/ $mon = get_class_methods($son);
var_dump($mon); /*array (size=4) 0 => string '__construct' (length=11) 1 => string 'eat' (length=3) 2 => string 'xinxi' (length=5) 3 => string 'zuoyong' (length=7)*/
0 => string '__construct' (length=11)
1 => string 'eat' (length=3)
2 => string 'xinxi' (length=5)
3 => string 'zuoyong' (length=7)*/
?>
阅读更多风口下的猪2019-08-27发表在【PHP】
-
Composer使用–下载第三方扩展库
PHPcomposer是针对php项目下载第三方扩展类库的下载工具。使用composer的前提是按照composer。然后进行一系列配置操作。配置操作如下:
1.生成一个空的composer项目
随意在一个地方新建一个文件夹,命名为MFFC(My First Framework on Composer)。并在其文件夹下新建一个composer.json文件。
composer.json文件编译代码如下:
{ "require": { } }
2.生成ventor文件夹
cmd cd到MFFC文件夹,然后执行"composer update"命令。便会在MFFC文件夹下生成一个ventor文件夹,专门用于存放第三方扩展类库。
3.composer.json文件修改
3.1申明依赖
修改composer.json文件,在require中申明要依赖的第三方类库及其版本(如果没有版本或不能确定版本,则可以用通配符*代替)。
3.2配置config解决https等问题
用以解决https的问题,则需要config配置“secure-http”:false。
3.3增加自动加载属性
定义autoload属性,file字段指向新生成的ventor文件夹下的autoload.php
例如:
{"require": {"php": ">=5.4.0","illuminate/database": "*","houdunwang/Crypt":"^1.0"},"config": {"secure-http": false},"autoload": {"files": ["vendor/autoload.php"]}}4.安装依赖
(1)cd到MFFC文件执行“composerc install”指令便可安装。
(2)如果没有全局安装的话,则运行:“php composer.phar install”
(3)如果要更新所有包,则运行:“composer update”
注意:composer install或者composer update,将会更新所有的扩展包,要慎用。
5.对某一个扩展包的操作
(1)新增加载某一扩展包(这里以后盾网的加密扩展类库为例,即houdunwang/Crypt)
执行“composer requeire houdunwang/Crypt”即可。
如果要指定加载某一版本,则执行“ composer requeire“houdunwang/Crypt:1.2.*” ”
(2)更新某一扩展包
执行“composer update houdunwang/Crypt”即可。
(3)移除某一扩展包
执行“composer remove houdunwang/Crypt”即可。
阅读更多风口下的猪2019-06-09发表在【PHP】
-
Windows下安装Composer的详细教程
PHP1.安装composer-Setup.exe到php.exe所在目录
运行composer-Setup.exe,会自动搜索的php.exe的安装路径,如果没有,就手动选择PHP下的php.exe的安装路径,安装。
2.在PHP目录下,打开的php.ini文件,开启OpenSSL的扩展
去掉extension= php_openssl.dll前面的分号,就是打开注释。
3.新建一个环境变量下的用户变量
变量名随便写,变量值就填写的PHP的安装路径。
4.将composer.phar和composer.bat放入php.exe所在目录
5.cmd下运行composer查看结果
cmd下输入"composer"
阅读更多风口下的猪2019-06-09发表在【PHP】
-
Wamp如何设置访问域名,即除了localhost,通过其他字符串访问127.0.0.1
PHP步骤如下:
1.修改hosts文件
在电脑c盘下按照路径 C:\WINDOWS\system32\drivers\etc\hosts找到hosts文件
在末尾添加字符串eg:
127.0.0.1 localhost
127.0.0.1 www.tp50.com
2.修改httpd.conf文件
在wamp server中Apache中找到httpd.conf
添加以下代码:
<VirtualHost *:80>
ServerName www.fullstack.com
DocumentRoot "E:/wamp64/www/"
</VirtualHost>
注意点:
(1)ServerName字段是指访问127.0.0.1通过什么名称,其值为名称;
(2)DocumentRoot字段是通过127.0.0.1要访问其内存的具体位置,其值为路径字符串
3.重启wamp
阅读更多风口下的猪2019-06-09发表在【PHP】
-
关于php集成环境mysql wamp 修改密码后phpMyAdmin拒绝访问解决办法
PHP2.将wamp\apps\phpmyadmin3.4.9\config.inc.php$cfg['Servers'][$i]['password'] = '';修改为$cfg['Servers'][$i]['password'] = 'your_passwd';然后将wamp\apps\phpmyadmin3.4.9\libraries\config.default.php$cfg['Servers'][$i]['password'] = ''; (大概在200行左右)修改为$cfg['Servers'][$i]['password'] = 'your_passwd';3.一般数据库的默认用户名是“root”,密码默认为空。在进入数据库管理界面时点击“用户”或者“账户”,对数据库用户名权限进行修改以修改密码。
阅读更多风口下的猪2019-06-09发表在【PHP】
-
如何更改WAMPServer默认配置之更改MySql默认ROOT帐号的密码
PHP在WampServer安装完成后,通过http://localhost/打开后可以看到WampServer自带的一个简单的页面,里面有phpinfo、phpmyadmin和sqlitemanager三个工具。打开phpmyadmin会在下方看到警告提示,root用户没有设置密码,我们先为root帐户设置密码。
点击phpmyadmin页面中部的“用户”,可以看到“用户一览”,这时候应该有几行用户信息,点击root localhost这一行最右侧的编辑权限图标,在新页面找到“更改密码”,为root用户设置密码,并点击“执行”。
然后刷新页面,会看到错误提示,这是因为帐户已经设置密码,到WampServer程序安装目录,在apps目录找到phpmyadmin的目录,打开phpmyadmin目录里面的config.inc.php文件,找到下面这一行:
$cfg['Servers'][$i]['password'] = '';
在等号右面的单引号里面输入刚才设置的密码,重新打开phpmyadmin的页面并刷新,这时候phpmyadmin就可以正常访问了。
阅读更多风口下的猪2019-06-09发表在【PHP】