我爱编程

career php培训

2016-11-11  本文已影响0人  Zach96
Paste_Image.png

一、开发环境

学习一门语言,首先要搞定的就是环境的配置
想要比较开心的开发php,你就需要搞定这几个

二、编辑器

推荐几款编辑器

  1. notepad++
  2. sublime text
  3. Atom
  4. editplus
    根据个人喜好选择,重点是下面的

三、php简介

php是世界上最好的语言(yes or no?)

Paste_Image.png

那么,php到底是不是世界上最好的语言呢,其实不是的。

三个程序员坐在格子间里编程。
一个程序员一言不发,他用的是python.
一个程序员写一会儿就按一下编译,然后就玩会儿手机。他用的是C++。
一个程序员坐在那里浏览网页,不时飞快的键入一些字符。
经理看到,怒道:你怎么不干活,尽在上网。
回答:我在查实现这个功能需要用什么函数。
他用的是PHP.

php语言的劣势:

Paste_Image.png

http://m.oschina.net/question/1579_49262
(想要深入了解php特性的可以看一下这篇文章)
基于以上特点,我们基本可以得出一个结论:php不是所谓的最优语言。

但我们为什么要学习php呢?

1、开源性和免费性。由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

2、跨平台性强。由于PHP的解释器是开源的,所以能够在所有的操作系统平台上非常稳定地运行,这使它成为常用的服务器语言。

3、快捷性。PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

4、面向过程和面向对象并用。在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其他很多编程语言是做不到的。

5、运行高效性。由于PHP运行在相应的平台解释器上,消耗系统资源比较少,运行的环境简单,所以效率就很高。

6、数据库连接的广泛性。PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle、AdabasD、S等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

四、php代码规范

格式

PHP 脚本可放置于文档中的任何位置, 以<?php 开头,以 ?>结束
<?php // 这里是PHP 代码 ?>
实例

<!DOCTYPE html> 
  <html>
   <body>
     <h1>看看下面PHP的结果是什么</h1>
     <?php echo "hello, world"; ?>
   </body>
 </html>```

>大小写敏感与否

* 用户定义的函数、类和关键字
在 PHP 中,所有用户定义的函数、类和关键字(例如 if、else、echo 等等)都对大小写不敏感。在下面的例子中,所有这三天 echo 语句都是合法的(等价):

<!DOCTYPE html>
<html>
<body>
<?php
ECHO "Hello World!
";
echo "Hello World!
";
EcHo "Hello World!
";
?>
</body>
</html>

* PHP 变量:
变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头,变量名称不能以数字开头,变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)变量名称*对大小写敏感* ($y 与 $Y 是两个不同的变量)
实例:

<!doctype html>
<html>
<body>
<?php
$x=6;
$y=7;
$z=$x+$y;
echo $z;
?>
</body>
</html>```

五、php基本语法

数据类型

在PHP中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。

<?php 
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>

在赋值符号后,输入定界符“<<<”,接着是标识符,你可以用你的女神作为标识符“GOD”,如第2行,也可以使用你喜欢的狗 狗,“DOG”作为标识符,但是,结尾处的标识符也必须是一样的。此外,在结尾的一行,如第7行,一定要另起一行,并且此行除了“GOD”,并以“;”号 结束之外,不能有任何其他字符,前后都不能有,包括空格,否则会出现错误的

<?php 
$x = "Hello world!";
echo $x;
echo "<br>"; 
$x = 'Hello world!';
echo $x;
?>
<?php 
$x = 5985;
var_dump($x);
echo "<br>"; 
$x = -345; // 负数 
var_dump($x);
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
<?php
 $cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
<?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>

资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资 源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。

<?php 
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handle = fopen("/data/webroot/resource/php.f.txt","r");
if ($file_handle){
//接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字
while (!feof($file_handle)) { //判断是否到最后一行
    $line = fgets($file_handle); //读取一行文本
       echo $line; //输出一行文本
      echo "<br />"; //换行
}
}
fclose($file_handle);//关闭文件
?>

php常量

PHP中的常量分为系统常量和自定义常量。

<?php
define("PI",3.14);
$r=1;
$area = PI*$r*$r; //计算圆的面积
?>
<?php 
$p="";
//定义圆周率的两种取值
define("PI1",3.14);
define("PI2",3.142);
//定义值的精度
$height = "中";
//根据精度返回常量名,将常量变成了一个可变的常量
if($height == "中"){
$p = "PI1";
}else if($height == "低"){
$p = "PI2";
}
$r=1;
$area = constant($p)*$r*$r;
echo $area;
?>
// PHP5以后可以用来定义常量的方法
const  value1 = 10;
echo value1;
echo  "<br>";
// PHP5之前定义常量的方法
define("value2",20);
echo value2;

define() 函数 - 有三个参数:首个参数定义常量的名称第二个参数定义常量的值可选的第三个参数规定常量名是否对大小写敏感。默认是 false。

有关字符串处理的一些函数

$str = "Hello PHP";
//strlen() 函数返回字符串的长度,以字符计。
//获取指定字符在字符串中的位置
echo  strpos($str,"P")."<br>";
//截取指定位置的字符串(从第2个字符到最后)
$str1 = substr($str,2);
//截取指定位置的字符串(从第2个字符开始往后截取3位)
$str2 = substr($str,2,2);
//以指定间距分割字符串
$str3 = str_split($str);
$str4 = str_split($str,2);
print_r($str4)."<br>";
//以指定字符分割字符串
$str = "PHP JAVA JS HTML CSS";
$str5 = explode(" ",$str);
print_r($str5)."<br>";

运算符

Paste_Image.png

几乎所有的内置函数以及基本结构中都使用了很多松散的比较和转换,防止程序中的变量因为程序员的不规范而频繁的报错,然而这却带来了安全问题

想要了解更多,可以访问
http://php.net/manual/zh/types.comparisons.php

<?php  
$conn = @mysql_connect("localhost","username","password");
echo "出错了,错误原因是:".$php_errormsg;
?>

PHP foreach 循环

<?php 
$colors = array("red","green","blue","yellow"); 

foreach ($colors as $value) {
  echo "$value <br>";
}
?>

关联数组的概念(键值对)

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

在PHP中foreach循环语句,常用于遍历关联数组,一般有两种使用方式:不取下标、取下标。

<?php
foreach (数组 as 值){
//执行的任务
}
?>

示例:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
//使用循环结构遍历数组,获取学号和姓名  
foreach($students as $key)
{ 
echo $key;          
echo "<br />";
}
?>

同时取下标和值

<?php
foreach (数组 as 下标 => 值){
//执行的任务
}
?>

示例:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
//使用循环结构遍历数组,获取学号和姓名  
foreach($students as $key => $value)
{ 
echo $value;          //输出(打印)姓名
echo "<br />";
}
?>

PHP global 关键词

global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词:

<?php
$x=5;
$y=10;
function myTest() {
   global $x,$y;
   $y=$x+$y;
} 
myTest(); // 运行函数
echo $y; // 输出变量 $y 的新值
?>```

>PHP echo 和 print 语句

echo 和 print 之间的差异:
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1

提示:echo 比 print 稍快,因为它不返回任何值。

<?php
echo "<h2>PHP is fun!</h2>";
echo "Hello world!
";
echo "I'm about to learn PHP!
";
echo "This", " string", " was", " made", " with multiple parameters.";
?>

显示变量
下面的例子展示如何用 echo 命令来显示字符串和变量:
<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");

echo $txt1;
echo "
";
echo "Study PHP at $txt2";
echo "My car is a {$cars[0]}";
?>


>几个常用的php库函数



打印某一个变量的类型和值:var_dump()

$a = "abc";
var_dump($a); //string(3) "abc"
print_r("abc");

返回一个变量的所有数据

$arr = var_export($array);
获取某个变量的类型名称:gettype()
echo gettype($a); //string

判断一个变量是否为某个类型:is_int  is_bool is_string

if(is_string($a)){
echo "\n is string"; //is string
}

强制装换:set type($var, $type)或($type)$a

(int)$a;
settype($a,int);

* PHP 日期和时间
    * PHP Date() 函数
    ```
date(format,timestamp)
* 通过 PHP mktime() 创建日期
```

mktime(hour,minute,second,month,day,year)

     通过 PHP strtotime() 用字符串来创建日期
    ```
strtotime(time,now)
strtotime("10:38pm April 15 2015");
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>

others:

somethings you can do ...

Paste_Image.png

Thank You

By Zach

上一篇 下一篇

猜你喜欢

热点阅读