本文目录导航:
谁有php教程(全)的?分享一下呗。
php教程(90.24G)网络网盘免费资源在线学习
链接:教程(90.24G)
phpstorm使用教程phpstorm开发项目中5种常用的使用方法
前言:有时因为各种原因重装了系统,工具有时也重装,但是又没有把软件的设置导出来。
最开始的工具配置过了段时间给遗忘了,比如平时顺手的关闭窗口快捷键,composer,git等的设置。
方法总结:1. 修改快捷方式点击”File”->”Settings”->”keyMap” 就可以看到那些快键键的各种分类,比如我常喜欢用”ctrl+w”关闭正在打开的窗口,所以就选择”windows”分类下的Editor Tabs的”close”,邮件remove掉原来的,然后add手动添加一个即可。
2. 修改代码注释模板点击 ”File”-> “setting”->”File and code Templates” -> ”Includes” -> “PHP Function Doc Comment”,右边添加如下:/*** @Notes: 文件描述* @Author: fc* @Time: ${DATE} ${TIME}* @Interface ${NAME}${PARAM_DOC}#if (${TYPE_HINT} != void) * @return ${TYPE_HINT}#end${THROWS_DOC}* @Return mixed*/3. 添加composer3.1. 点击“Tools”->“composer”->“Manage dependencies”,点击“”选择本地安装过的composer,然后选择一个安装的PHP版本。
4. 使用版本控制导入项目,比如git。
4.1. 点击 “VCS’ -> “Checkout from version Control” -> “Git”,然后填写克隆的仓库地址已经本地保存的项目名目录。
4.2. 第一次克隆可能需要输入用户名和密码,如果第一次输入错误,后面克隆时不提示重新输入,则可能是电脑对第一次输入的值进行了本地凭证保存。
需要在winows凭证中修改账户密码,操作如下。
4.3. 打开“控制面板”-> “用户账号和家庭安全”。
4.4. 进入后,找到“windows凭证”点击管理进入。
4.5. 找到对应的地址,点击“编辑”或“删除”该记录,就可以重新克隆拉取直到成功。
5. 版本控制分支的“切换”,“创建”,“合并”。
5.1. 切换,找到IDE的右下角,如果是Git,默认是显示Git master,点击该文字就可以打开仓库的所有分支,点击其中一个,“Checkout As”就可以切换了。
如果本地没有该分支则会创建一个。
5.2. 创建。
如果需要在某个分支上再开一个分支,则切换成功后,点击 ”New Bransh”命名一下就在本地新建了分支,本地并切换到该新建的分支下。
然后 ”ctrl+shift+k”打开推送窗口,将本地新建的分支推送到远程, 然后查看Remote Branches就会多了一个分支。
5.3. 合并。
合并主要就是本地当前的分支与远程其中一个分支进行合并,所以只需要切换至本地开发的分支,然后点击“Remote Branches”下需要进行合并的分支,选择“Merge into Current”即可。
5.4. 删除分支,在当前分支下点击其他的分支,选择“Delete”即可,本地分支也一样操作。
php高级教程
php高级教程
导语:php是it行业语言,也是一门较热的网络技术,下面就由我为大家介绍一下php高级教程,欢迎大家阅读!
一、PHP- 多维数组:
$cars = array(
array(huawei,12,11),
array(meizu,23,12),
array(iphone,12,4)
$title = array(手机总共有:,个,已经卖出去了,个!);
for($i=0;$i{ for($j=0;$j { echo $cars[$i][$j]; echo $title[$j]; } echo ;}?>
输出:
huawei手机总共有:12个,已经卖出去了11个!
meizu手机总共有:23个,已经卖出去了12个!
iphone手机总共有:12个,已经卖出去了4个!
·d - 表示月里的某天(01-31) D-表示当前这天的英文星期简写
·m - 表示月(01-12) M-表示当前月的英文缩写
·Y - 表示年(四位数) y-表示年(后两位数)
·1 - 表示周里的某天 L-返回0
其他字符,比如 /,. 或 - 也可被 插入字符中,以增加其他格式。
echo今天是 . date(YYYY/m/d) . ; ///06/26 由此可见不能用js中yyyy-mm-dd的形式
echo今天是 . date(Y.m.d) . ; //2017.06.26
echo今天是 . date(Y-M-D) . ; //17-Jun-Mon
echo今天是 . date(l) . ; //Monday 星期全称
echo今天是 . date(L) . ; //0
获得简单的时间
下面是常用于时间的字符:
date_default_timezone_set(Asia/Shanghai); //设置时区
echo date_default_timezone_get(oid);//获取当前时区
·h - 带有首位零的 12 小时小时格式 H-24小时格式
·i - 带有首位零的分钟 I-0
·s - 带有首位零的秒(00 -59) S-返回th我也不知道是什么鬼
·a - 小写的午前和午后(am 或 pm) A-返回大写格式:AM或PM
echo现在是 . date(h:i:sa) . ; //现在是 02:15:44pm
echo现在是 . date(H:I:SA) . ; //现在是 14:0:thPM
语法
mktime(hour,minute,second,month,day,year)
$d=mktime(9,12, 31, 6, 10, 215) ;
PHP strtotime() 函数用于把人类可读的字符串转换为Unix 时间。
$d=strtotime(10:38pm April 15 2015);
如果输入了它不能识别的字符串则保存为 1970-01-01 12:00:00am
计算两个时间段内的时间所有的周六
$startdate = strtotime(Saturday);
$enddate = strtotime(+6 weeks,$startdate);
while ($startdate < $enddate) {
echo date(M d, $startdate), ;
$startdate = strtotime(+1 week, $startdate); //在$startdate基础上加一个礼拜,你还可以加1天,1个月,1年
计算距离某一天还有多长时间
$d1=strtotime(2017-7-30);
$d2=ceil(($d1-time())/60/60/24);
echo 距离十二月三十一日还有: . $d2 . 天。;
三、PHP Cookies
cookie 常用于识别用户。
cookie 是服务器留在用户计算机中的小文件。
每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。
通过 PHP,您能够创建并取回 cookie 的值。
创建cookie
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于
标签之前。
语法
setcookie(name, value, expire, path, domain);
在下面的例子中,我们将创建名为 user 的 cookie,把为它赋值 Alex Porter。我们也规定了此 cookie 在一小时后过期:
setcookie(user, Alex Porter, time()+3600);
注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用setrawcookie() 取而代之)。
取回 Cookie 的值
PHP 的 $_COOKIE 变量用于取回cookie 的值。
// Print a cookie
echo $_COOKIE[user];
// A way to view all cookies
print_r($_COOKIE);
// set the expiration date to one hour ago
setcookie(user, , time()-3600);
如果浏览器不支持 cookie 该怎么办?
如果您的应用程序涉及不支持cookie 的浏览器,就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。
一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。
下面的表单在用户单击提交按钮时向 提交了用户输入:
取回 中的值,就像这样:
You are years old.
四、PHP Sessions
PHP Session 变量
当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。
这很像一次会话。
计算机清楚你是谁。
它知道你何时启动应用程序,并在何时终止。
但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。
通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。
不过,会话信息是临时的,在用户离开网站后将被删除。
如果您需要永久储存信息,可以把数据存储在数据库中。
Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。
UID 存储在cookie 中,亦或通过 URL 进行传导。
开始 PHP Session
在您把用户信息存储到 PHPsession 中之前,首先必须启动会话。
注释:session_start() 函数必须位于
标签之前:
上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个 UID。
存储 Session 变量
存储和取回session 变量的正确方法是使用 PHP$_SESSION 变量:
session_start();
// store sessionviews];
输出:
Pageviews=1
在下面的例子中,我们创建了一个简单的 page-view 计数器。
isset() 函数检测是否已设置 views 变量。
如果已设置 views 变量,我们累加计数器。
如果 views 不存在,则我们创建 views 变量,并把它设置为 1:
session_start();
if(isset($_SESSION[views]))
$_SESSION[views]=$_SESSION[views]+1;
$_SESSION[views]=1;
echo Views=. $_SESSION[views];
终结 Session
如果您希望删除某些session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量:
unset($_SESSION[views]);
您也可以通过session_destroy() 函数彻底终结 session:
session_destroy();
注释:session_destroy() 将重置 session,您将失去所有已存储的session 数据。
五、PHP 错误处理
错误处理方法:
·简单的 die() 语句
·自定义错误和错误触发器
·错误报告
为了避免用户获得类似上面的错误消息,我们在访问文件之前检测该文件是否存在:
if(!file_exists())
die(File not found);
$file=fopen(,r);
假如文件不存在,您会得到类似这样的错误消息:
File not found
比起之前的代码,上面的代码更有效,这是由于它采用了一个简单的错误处理机制在错误之后终止了脚本。
不过,简单地终止脚本并不总是恰当的方式。
让我们研究一下用于处理错误的备选的 PHP 函数。
创建自定义错误处理器
创建一个自定义的错误处理器,可以在PHP 中发生错误时调用该函数。
该函数必须有能力处理至少两个参数(error level 和 error message),但是可以接受最多五个参数(可选的:file, line-number 以及error context):
语法
error_function(error_level,error_message,
error_file,error_line,error_context)
参数描述
error_level:必需。
为用户定义的错误规定错误报告级别。
必须是一个值数。
参见下面的表格:错误报告级别。
error_message:必需。
为用户定义的错误规定错误消息。
error_file:可选。
规定错误在其中发生的文件名。
error_line:可选。
规定错误发生的行号。
error_context:可选。
规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。
创建错误处理函数
function customError($errno, $errstr)
echo Error: [$errno] $errstr
echo Ending Script;
现在,我们已经创建了一个错误处理函数,我们需要确定在何时触发该函数。
Set ErrorHandler
PHP 的默认错误处理程序是内建的错误处理程序。
我们打算把上面的函数改造为脚本运行期间的默认错误处理程序。
可以修改错误处理程序,使其仅应用到某些错误,这样脚本就可以不同的方式来处理不同的错误。不过,在本例中,我们打算针对所有错误来使用我们的自定义错误处理程序:
set_error_handler(customError);
由于我们希望我们的自定义函数来处理所有错误,set_error_handler() 仅需要一个参数,可以添加第二个参数来规定错误级别。
//定义错误处理函数
function customError($errno, $errstr)
echo rror: [$errno] $errstr;
//设置错误处理函数
set_error_handler(customError);
//触发错误
echo($test);
可能的错误类型:
·E_USER_ERROR - 致命的用户生成的run-time 错误。
错误无法恢复。
脚本执行被中断。
·E_USER_WARNING - 非致命的用户生成的run-time 警告。
脚本执行不被中断。
·E_USER_NOTICE - 默认。
用户生成的`run-time 通知。
脚本发现了可能的错误,也有可能在脚本运行正常时发生。
例子
在本例中,如果test 变量大于 1,则发生E_USER_WARNING 错误。如果发生了 E_USER_WARNING,我们将使用我们的自定义错误处理程序并结束脚本:
//error handler function
function customError($errno, $errstr)
echo Error: [$errno] $errstr
echo Ending Script;
//set error handler
set_error_handler(customError,E_USER_WARNING);
//trigger error
if ($test>1)
trigger_error(Value must be 1 or below,E_USER_WARNING);
错误记录
通过 E-Mail 发送错误消息
function customError($errno, $errstr)
echo Error: [$errno] $errstr ;
echo Webmaster has been notified;
error_log(Error: [$errno] $errstr,1,
六、PHP 异常处理
异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。
这种情况称为异常。
当异常被触发时,通常会发生:
·当前代码状态被保存
·代码执行被切换到预定义的异常处理器函数
·根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本
我们将展示不同的错误处理方法:
·异常的基本使用
·创建自定义的异常处理器
·多个异常
·重新抛出异常
·设置顶层异常处理器
Try, throw 和 catch
要避免上面例子出现的错误,我们需要创建适当的代码来处理异常。
正确的处理程序应当包括:
- 使用异常的函数应该位于try 代码块内。
如果没有触发异常,则代码将照常继续执行。
但是如果异常被触发,会抛出一个异常。
- 这里规定如何触发异常。每一个 throw 必须对应至少一个 catch
- catch 代码块会捕获异常,并创建一个包含异常信息的对象
让我们触发一个异常:
//创建可抛出一个异常的函数
function checkNum($number)
if($number>1)
throw new Exception(Value must be 1 or below);
return true;
//在 try 代码块中触发异常
checkNum(2);//如果抛出异常则执行catch中的语句,这里就不接着往下执行了
//If the exception is thrown, this text will not be shown
echo If you see this, the number is 1 or below;
//捕获异常
catch(Exception $e)
echo Message: .$e->getMessage();
上面代码将获得类似这样一个错误:
Message: Value must be 1 or below
创建一个自定义的 Exception 类
创建自定义的异常处理程序非常简单。
我们简单地创建了一个专门的类,当 PHP 中发生异常时,可调用其函数。
该类必须是 exception 类的一个扩展。
这个自定义的exception 类继承了 PHP 的 exception 类的所有属性,您可向其添加自定义的函数。
我们开始创建exception 类:
class customException extends Exception //extends 相当于继承关键字
public function errorMessage() //定义了自己的报错函数
//error message 在继承的类中,可以访问基类的方法
$errorMsg = Error on line .$this->getLine(). in .$this->getFile()
.: .$this->getMessage(). is not a valid E-Mail address;
return $errorMsg;
if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE)
//throw exception if email is not valid
throw new customException($email);
catch (customException $e)
//display custom message
echo $e->errorMessage();
这个新的类是旧的exception 类的副本,外加 errorMessage() 函数。
正因为它是旧类的副本,因此它从旧类继承了属性和方法,我们可以使用 exception 类的方法,比如 getLine() 、getFile() 以及 getMessage()。
多个异常
可以为一段脚本使用多个异常,来检测多种情况。
可以使用多个 代码块,或一个 switch 代码块,或者嵌套多个异常。这些异常能够使用不同的 exception 类,并返回不同的错误消息:
评论(0)