PHP的入门

在研究TeamTalk的时候,才发现,原来我只会用Java,H5...对于c++,php基本没怎么接触过。所以写了本文来叙述一下我的学习之路。由于本人是在工作中遇到这些问题的,所以必须要迅速解决,不可能像上学,培训那样,花好几个月学习。从学习,到撰写本文,本人仅用了一下午(ps:老板不在,你们懂得)。本人是参考 网易云课堂 上的 王亮大佬的 “十天学会PHP(第六版)”这一系列视频教程的,这个视频教程免费。链接如下:http://study.163.com/courses-search?keyword=%E5%8D%81%E5%A4%A9php#/?ot=5

由于本人有一定的基础,因此只撰写和php有关的内容,html,css,sql语句等如果读者不知道,请自行学习。文中部分内容在下面的案例中已经体现,不再多做赘述。

=====================华丽的分割线=========================

好了,步入正题:

一、开发环境

下载安装 SublimeText3,xampp这两个,其中xampp是软件包,包括tomcat,mysql......

二、PHP中的数据类型

9种数据类型以及定义的语法

$a1 = 1;//int

$a2 = 1.5;//float

$a3 = true;//boolean

$a4 = 'string';//字符串,可以使用双引号

$a41 = "string$a1";//双引号可以识别里面的变量

$a5 = array(1,2,3);//数组

$a6 = new stdClass;//对象

$a8 = null;

Callback / Callable 类型

有关数组类型的:

//索引数组

$arr1 = [1,2,3,[1,1,1]];//可以多维

//var_dump($arr1);//键值对

//关联数组

$arr2 = [

'a' => 1,

'b' => 2,

'c' => 3

];

//数组的增删改查

//添加

$arr2['d'] = 4;

//修改

$arr2['b'] = 22;

//删除

unset($arr2['c']);

//查找

echo $arr2['a'];

//返回数组中部分或所有键名

var_dump(array_keys($arr2));

三、运算符

php种的运算符和java种基本一致,此处不做赘述,如果没有编程语言基础的,请自行 学习。这里主要就说一下几个容易被忽略的。

=== 这个是全等于,即不止值相等,数据类型也相等。

<> 这个是不等于,在java种表示为!=

. 这个是用来做字符串拼接的,不可以像java那样直接用 + 来做字符串拼接

.= 这个就类似于java字符串拼接中的+=的写法

-> 这个可以用来调用方法等

四、流程控制语句

if,switch这两个和java里面用法一致

for,while,foreach也和java里面用法一致

五、面向对象

面向对象的概念在此不做赘述,我们只谈实现。

include:实现。包含其他php文件,然后可以直接执行其他php文件中的方法。PHP中也可以继承。代码举例如下:

test8.php:

//一个类

class name{

public $s1 = 0;

public $s2 = 1;

//魔术方法,类似于Java中的构造函数,在创建对象的时候调用

public function __construct($a,$b){

echo 123;

$this->s1 = $a;

$this->s2 = $b;

 

//var_dump($a,$b);

}

}

 

$name = new name('a','b');

//$name -> s1(12);

?>

 

test:

include ('test8.php');

//require和include几乎一样,只是失败了,require不会再执行。而include会继续执行。include_once可以多次包含同样一个文件,include不行。

echo 'hello world';

//单行注释,标准

#单行注释

/*

多行注释

*/

$a="php";

echo $a;

//在外面可以写html内容

//php在服务器解析后也是html内容

?>

 

在此值得说一下的是,php里面也有构造函数,作用和java类似,都是实例化对象的时候调用。

代码如下参考上面test8。

=============================华丽的分割===================================

好了,到此,基本对php有了一定的了解了,起码不会看的一脸懵。下面是视频教程中的一个小案例,留言本小案例:

在这个案例中,主要讲解的是:

1、如何从页面取值

2、php对数据库的操作

3、如何将查询得到的结果返回到页面

全部代码如下:

gbook.php:

$host = '127.0.0.1';

$user = 'root';

$pwd = '123456';

$dbname = 'php10';

$db = new mysqli($host,$user,$pwd,$dbname);

if($db -> connect_errno<>0){

echo "连接失败";

echo $db -> connect_errno;

exit;

}

$db->query("set names utf8");

$sql = 'select * from msg order by id desc';

$mysqli_result = $db->query($sql);

//var_dump($mysqli_result);

if($mysqli_result===false){

echo 'sql错误';

exit;

}

while($row = $mysqli_result->fetch_array(MYSQLI_ASSOC)){

$rows[] = $row;

}

?>

留言本

 


 

foreach ($rows as $row) {

# code...

?>

}

?>

==========================================================================

style.css:

.wrap{

width:600px;

margin:0px auto;

}

 

.add{overflow: hidden;}

.add .content{

width:598px;

margin:0;

padding:0;

}

.add .user{

float:left;

}

.add .btn{

float:right;

}

 

.msg{

margin: 20px 0px;

background:#ccc;

padding:5px;

}

.msg.info{

overflow:hidden;

}

.msg.user{

float:left;

color:blue;

}

.msg.time{

float:right;

color:#999;

}

.msg.content{

width:100%;

}

==========================================================================

input.php:

 

class input{

//定义函数检查留言内容

function post($content){

$n = ['张三','李四','王五'];

if($content == ''){

return false;

}

foreach ($n as $name) {

if($content == $name){

return false;

}

}

return true;

}

}

?>

==========================================================================

connect.php:

//将数据入库

$host = '127.0.0.1';

$dbuser = 'root';

$pwd = '123456';

$dbname = 'php10';

$db = new mysqli($host,$dbuser,$pwd,$dbname);

if($db->connect_errno<>0){

echo '连接失败';

}

//设置数据传输编码

$db->query("set names utf8");

?>

==========================================================================

save.php:

/*var_dump($_POST);

$content = $_POST['content'];

$user = $_POST['user'];

var_dump($content,$user);*/

include('input.php');

include('connect.php');

$content = $_POST['content'];

$user = $_POST['user'];

$n = ['张三','李四','王五'];

$input = new input();

 

$is = $input->post($content);

if($is == false){

die('留言内容数据不正确');

}

 

$is = $input->post($user);

if($is == false){

die('留言人数据不正确');

}

 

$time = time();

$sql = "insert into msg(content,user,intime) values('{$content}','{$user}','{$time}')";

$is = $db->query($sql);

if($is==true){

//echo '插入成功';

header("location:gbook.php");//回到gbook.php页面

}else{

echo '插入失败';

}

//获取结果

/*if($content == ''){

die("留言内容不能为空");//停止程序,输出信息

}

 

if($user == ''){

die("留言人不能为空");//停止程序,输出信息

}*/

 

/*foreach ($n as $name) {

if($user == $name){

die("禁止使用的用户名");

}

}*/

?>

==========================================================================

好了,至此,再回去看TeamTalk中的php代码,不至于一脸懵了。但是到此,也仅限于能看代码,基础稍好一点的能改改代码,要做到开发,是远远不够的。在今后的工作中遇到其他的技术,再继续码字吧。

 

 

 

你可能感兴趣的:(渴望力量系列)