天天看点

一小时学会PHP,一小时入门PHP

[版权申明:本文系作者原创,转载请注明出处]

文章出处:[http://blog.csdn.net/sdksdk0/article/details/52332296](http://blog.csdn.net/sdksdk0/article/details/52332296)

作者:朱培 ID:sdksdk0 邮箱: [email protected]

最近在折腾那个安卓扫码登录的功能,然后网页端是用php的做了,于是乎看一下php的资料,发现其实和java、jsp有很多相通的地方啊,语法什么的,还有类的使用,感觉非常相似,一个小时就完全可以搞定了php的基础了,但是想要进一步深入的学习和了解还是需要时间的,这里的话一小时入门php的前提是首先关系型数据库总要非常熟悉吧,sql总要非常熟练的掌握了吧!常见的开源CMS系统:wordpress。DiscuzX论坛网站都是php的。

php简介

PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。

PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。

PHP5.0版本强化更多的功能。首先,完全实现面向对象,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XMLWeb服务支持,而且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySQL的新界面——MySQL。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上还捆绑有小容量RDBMS-SQLite.

环境搭建

首先我们需要先安装好apache,我这里用的是appserver来安装的。如果想要上传要公网的服务器上的话可以使用cygwin、ftp,我这里使用的集成IDE是phpstorm,感觉还是非常方便的,这种IDE的风格和androidStudio的都差不多,所以上手非常快,而且可以自动找到浏览器,总之是一款非常不错的IDE。安装配置这里不再重复啰嗦!

常见的名词:

cygwin:在windows中模拟linux的环境。

apache httped:服务器。

Nginx:服务器。

xampp:应用服务器,快速搭建开发环境。

phpStorm:php集成开发环境。

ftp:协议,上传文件。

ssh:一个命令,连接服务器。

scp:一个命令,上传和下载文件。

php基本语法

在phpstorm中新建一个工程HelloPHP,然后建一个文件夹base,在里面新建一个cc.php,格式就是

echo 'hello php'

在php中,所有用户定义的函数都对大小写不敏感,但是在所有变量对大小写敏感。

常量和变量、数组、函数

我们使用符号来定义变量,在php中很多地方都用到了,感觉有点像jquery了,呵呵!

声明变量:

$a=10;

$a=20;

$b=5;

echo $a+$b;

如果要定义常量的话可以使用:

const THE_VALUE=100;

echo THE_VALUE;

也可以用函数来传值:

function traceNum($a,$b)

{

echo "a=$a,b=$b";

}

traceNum(3,4);

常量只能被赋值一次,而变量可以赋值多次。

流程控制、循环

php的流程控制可以使用if else来处理以及switch,和java类似,可以使用break和continue来控制循环.

下面是一个if循环的例子,这里注意的是elseif是连在一起写的,不要分开,和oracle中的存储函数类型,存储函数就是elsif来控制的,真的很像,呵呵!

function getLevel($score){

if($score>90){

return '优秀';

}elseif($score>80){

return '良好';

}elseif($score>60){

return '合格';

}else{

return '不合格';

}

}

echo getLevel(93);

如果使用switch的话可以这样:

function getLevel($score){

$result='不合格';

switch(intval($score/10)){

case 10;

case 9:

$result='优秀';

break;

case 8:

$result='良好';

break;

case 7:

$result='好';

break;

case 6:

$result='合格';

break;

default:

$result='不合格';

break;

}

return $result;

}

echo getLevel(93);

类、方法

新建一个类:

class Hello{

public function sayHello(){

echo 'hello';

}

}

这个地方和java非常相似啦,我就不说了!

就是引入文件使用:require,或者require_once

include 'demo1.php'; //包含,如果没有不会报错。

require 'demo1.php'; //依赖 ,如果没有就报错

//同一个php在不同的地方重复引用,

require_once 'demo1.php';

新建一个man类,构造方法。

class Man

{

public function __construct($age,$name){

// echo 'Construce a man';

$this->_age=$age;

$this->_name=$name;

}

public function getAge(){

return $this->_age;

}

public function getName(){

return $this->_name();

}

private $_age,$_name;

public static function sayHello(){

echo 'hello man';

}

}

库函数

获取时间:

//获取时间

//echo time();

date_default_timezone_set('Asia/Shanghai');

//日期

echo date('Y-m-d H:i:s');

操作json

//生成json格式的数据

$arr=array(1,2,3,5,7,'hello');

echo json_encode($arr);

$obj=array('h'=>'hello','w'=>'world',array(3,4,5,7));

echo json_encode($obj);

//解码

$jsonStr="{\"h\":\"hello\",\"w\":\"world\",\"0\":[3,4,5,7]}";

$obj=json_decode($jsonStr);

echo $obj->h;

创建图片

$img=imagecreate(400,300);

imagecolorallocate($img,255,255,255);

header('Content-type:image/png');

imageellipse($img,200,200,50,50,imagecolorallocate($img,255,0,0));

imagepng($img);

为图片添加水印

$img=imagecreatefrompng('img.png');

imagestring($img,5,5,5,'www.tianfang1314.cn',imagecolorallocate($img,255,0,0));

header('Content-type:image/png');

imagepng($img);

操作文本

把数据写到data的文本中:

[email protected]('data','w');

fwrite($f,'hello php');

fclose($f);

把数据从data的文本中读取出来:

[email protected]('data','r');

while(!feof($f)){

$content=fgets($f);

echo $content;

}

fclose($f);

输出内容:

echo file_get_contents('data');

上传文件:

html页面端:

php端:

$file=$_FILES['file'];

$fileName=$file['name'];

move_uploaded_file($file['tmp_name'],$fileName);

会话管理

这个的话和java中的cookie\session非常相似了。

设置cookie:

setcookie('name','tf');

获取cookie:

echo $_COOKIE['name'];

如果用户禁用了cookie的话我们可以通过url来传值处理。

session:

session_start();

$_SESSION['name']='tf';

销毁session

session_destroy();

mysql连接

使用php和mysql的连接应该是非常重要和实用的功能了。下面以一个案例来说明php对mysql的表进行增删改查数据的操作。主要就是使用了mysql_query()来执行sql就可以了。非常简单便捷。

获取数据库的连接:

首先新建一个config.php放mysql数据库的连接配置文件:

define('MYSQL_HOST','localhost:3306'); //mysql地址和端口号

define('MYSQL_USER','zp'); //用户名

define('MYSQL_PW','a'); //密码

function connecDB(){

$conn=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PW);

if(!$conn){

die('can\'t connection db');

}

mysql_select_db('day15'); //数据库的名字

return $conn;

}

使用php和html来生成一个表格。

require_once 'config.php';

?>

Title

添加

id 用户名 密码 操作

$conn=connecDB();

$result=mysql_query("select * from phpuser",$conn);

$dataCount=mysql_num_rows($result);

// echo $dataCount;

for($i=0;$i

$result_arr=mysql_fetch_assoc($result);

//print_r($result_arr);

$id=$result_arr['id'];

$name=$result_arr['uname'];

$pwd=$result_arr['pwd'];

echo "

$id$name$pwd 修改 删除";

}

?>

添加数据:

$name=$_POST['uname'];

if(empty($name)){

die('user name not define');

}

$pwd=$_POST['pwd'];

if(empty($pwd)){

die('user pwd not define');

}

require_once 'function.php';

connecDB();

$pwd=intval($pwd);

mysql_query(" insert into phpuser(uname,pwd) values('$name','$pwd')");

if(mysql_errno()){

echo mysql_error();

}else{

header("Location:alluser.php");

}

修改数据:

mysql_query("update phpuser set uname='$name',pwd='$pwd' where id='$id'");

删除数据:

mysql_query("delete from phpuser where id='$id'");

一小时学会PHP,一小时入门PHP

总结:php的入门非常简单,其门槛并不高,但是想要学深的话还是需要一点功夫的,很多语言都具有互通性,学会总结各种语言之间的不同点,根据不同语言的特点来完成不同功能的项目的开发是非常有必要的!有些东西不要说很简单很基础就得意忘形,还是需要潜心学习研究,永远不要骄傲自大!