PHP入门学习

签名: Canton Slippers

 

由于项目到了收尾的阶段,时间上都充裕得多,上班的时候多半是 Fix Bugs 为主。闲的无聊时,突然兴致一起,到网上搜了一下 PHP 的资料,开始了两天的 PHP 的学习之旅。在这里要衷心的感谢给我提供帮助的从事 PHP 开发的曾经的室友 --- 东哥。

因为学习的时间比较短,谈不上对 PHP 有比较高的造诣。只是在这里谈谈一下自己的学习经验,并且做一些记录,留作自己以后参考。

 

学习过程:

1.          PHP 的基本语法。

2.          SMARTY 的使用。

3.          环境的搭建。

4.          第一个示例。

 

首先 SHOW 一下这两天的学习成果。

 

 

 

 

 

 

很简单,就是一个 MYSQL CRUD 。通过 SMARTY 实现了形式与功能的分离,并且简单地实现了多语言。

 

好了,让我们正式开始了。主要是围绕最终的实例开展的。

 

(一)   环境的部署。

IDE DREAMWEAVER 8, 但是 DW8 对程序的调试支持不够,建议下载一个 ECLIPSE PHP 插件。

应用服务器: appserv-win32-2.5.9 。这个是集成的环境,内含 APACHE MySql 等,可以自由选择需要的组件进行安装。

 

工程结构图:

 

 

 

 

软件安装成功后需要启动应用服务器和数据库:

 

 

 

 

(二)   基本的 PHP 语法

应该说,这类型的资料比较多,要说一本书才足够。建议新人自己下去查看一下 PHP 的学习手册,和快速入门等资料。下面给推荐一个网站:

http://www.w3school.com.cn/php/

主要学习变量,类,表单等内容。

 

(三)   数据库的链接

我自己写一个数据库的访问的类,可以实现基本的操作,只是针对我的实例:

<?php

       /** MySQL settings - You can get this info from your web host **/

       define('DB_NAME', 'phptest');

        

       /** MySQL database username */

       define('DB_USER', 'root');

        

       /** MySQL database password */

       define('DB_PASSWORD', '123456');

        

       /** MySQL hostname */

       define('DB_HOST', 'localhost');

      

       class DataBaseAccess

       {

              var $conn;

             

              function DataBaseAccess()

              {

                     $this->getConnection();

              }

             

              function getConnection()

              {

                     $this->conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

                    

                     if (!($this->conn))

                     {

                            die('Could not connect: ' . mysql_error());

                     }

                     else

                     {

                            // echo " 数据库连接成功 ...";

                     }

                    

                     mysql_select_db(DB_NAME, $this->conn);

                    

              }

             

              function closeConnection()

              {

                     mysql_close($this->conn);

              }

             

              /**

                * Search the database table by id.

                */

              function findById($table, $id)

              {

                     $sql="select * from ". $table ." where id=".$id;

                     //Execute query

                     $result = mysql_query($sql);

                     if(!$result)

                     {

                            echo " 失败! ";

                            mysql_close($con);

                     }

                    

                     $student = mysql_fetch_row($result);

                     return $student;

              }

             

              /**

                * Search all the records the database table.

                */

                function findAll($table)

                {

                     $sql="SELECT * FROM ". $table;

                     //Execute query

                     $result = mysql_query($sql);

                    

                     if(!$result)

                     {

                            echo " 查找失败! ";

                            mysql_close($con);

                     }

                     return $result;

                }

               

                /**

                * Create the record.

                * $array must define as array('name'=>'test', 'number'=>'1111', 'sex'=>'male')

                */

                function create($table, $array)

                {

                     $columns;// name,number,sex

                     $values; // test,1111,male

                     foreach($array as $key=>$value)

                     {    

                            if($columns)

                            {

                                   $columns = $columns.",".$key;

                                   $values = $values.",'".$value."'";

                            }

                            else

                            {

                                   $columns = $key;

                                   $values = "'".$value."'";

/* 这里可以针对类型属性,判断用‘’还是不用等 */

                            }

 

                     }

                    

                     $sql="INSERT INTO ".$table." (".$columns.") values (".$values.")";

                     // echo $sql;

                     //Execute query

                     $result = mysql_query($sql);

                     if(!$result)

                     {

                            echo " 添加失败! ";

                            mysql_close($con);

                     }

                    

                     $newID = mysql_insert_id(); // 获取刚刚插入记录的 ID

 

                     return $newID;

 

                }

               

                /**

                * Update the record.

                * $array must define as array('name'=>'test', 'number'=>'1111', 'sex'=>'male')

                */

                function update($table, $array, $id)

                {

                     $column2value;

                     foreach($array as $key=>$value)

                     {

                            if($column2value)

                            {

                                   $column2value = $column2value. ',' .$key. "='" .$value. "'";

                            }

                            else

                            {

                                   $column2value = $key. "='" .$value. "'";

                            }

                           

 

                     }

                     $sql="UPDATE ".$table." SET ".$column2value ." WHERE id=". $id;

                     //Execute query

                     $result = mysql_query($sql);

                     if(!$result)

                     {

                            echo " 添加失败! ";

                            mysql_close($con);

                     }

 

                }

               

                /**

                * Search all the records the database table.

                */

                function delete($table, $id)

                {

                     $sql="delete from students where id=".$id;

                     //Execute query

                     mysql_query($sql);

                }

       }

 

?>

 

用法:(插入一条数据时)

<?php

       require_once('inc/conn.php');

       require_once('inc/common.php');

      

       $name = $_POST['name'];

       $number = $_POST['number'];

       $sex = $_POST['sex'];

      

 

       // Initial the connection of the database.

       $dba = new DataBaseAccess();

      

       $array = array(

              "name"=>$name,

              "number"=>$number,

              "sex"=>$sex

       );

      

       $newId = $dba->create('students', $array);

      

       // Close the connnection, release the resources.

       $dba->closeConnection();

      

      

       CommonUtil::trace("show.php?id=".$newId);

?>

 

(四)   SMARTY 实现形式与功能的分离

SMARTY 其中之一的一个身份就是 PHP 模板引擎。

你可以先到官网( http://www.smarty.net/ )下载一个 PHP 插件,里面包含了一个使用的 DEMO ,照葫芦画瓢,并非一件难事。

具体的使用,请参考 DOCUMENT

IBM 上也有相关的介绍: http://www.ibm.com/developerworks/cn/opensource/os-php-smarty/

 

也许你会说我没说什么,的确如此,在这里我只是充当一个带路人的身份罢了。具体参考示例吧,关于示例的 BUG 和不完善的部分,我会进一步跟进。

 

DEMO下载

 

我的下一站, PHP MVC 架构和 ORM 使用。

http://www.ibm.com/developerworks/cn/linux/l-smart/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值