PHP热身
0.环境说明
win10 xampp phpstorm
xampp带了apache和mysql以及phpmyadmin
1.配置mysql:修改默认编码
关mysql
xampp/mysql/bin/my.ini
在[mysqld]后添加character-set-server=utf8
在[mysql]后添加default-character-set=utf8
重启mysql
1.1配置php.ini,改时区为上海:
date.timezone=Asia/Shanghai1.2配置php.ini,修改错误级别:
error_reporting=E_ALL2.建表
给个例子:
到phpmyadmin里面导入即可
3.开phpstorm,建项目
4.PDO
php里面用mysql,现在应该使用PDO了。时代是在前进的。不要畏葸不前。
xampp里已经自带配置好了pdo,写代码的时候注意mysql不要拼错否则报错说没有pdo的驱动。
prepare statement的一些要注意的地方
别用bindParam和bindValue参数。都找不到了,而且有bug。用数组吧。
例子1:select语句,选出某些符合条件的结果。条件使用?来处理,条件的具体值使用数组告知:
# 建立数据库连结,创建PDO对象 $dsn = "mysql:host=localhost;dbname=common_module"; $user = "root"; $pass = ""; $pdo = new PDO($dsn, $user, $pass); # 编写SQL语句,进行查询 $sql = "select * from contacts where user_id>?"; $stmt = $pdo->prepare($sql); $id_threshold = 4; $stmt->execute(array($id_threshold)); $result = $stmt->fetchAll(); # 若同一SQL语句有不同的查询值取值,那么可以再次使用这个stmt # 输出查询结果 print_r("<pre>"); print_r($result); print_r("<pre>");相应地,执行insert操作的例子如下:
# 建立数据库连连接,创建PDO对象 $dsn = "mysql:host=localhost;dbname=common_module"; $user = "root"; $pass = ""; $pdo = new PDO($dsn, $user, $pass); # 编写SQL语句,进行查询 $sql = "insert into contacts (email, name, sex, address, phone) values (?, ?, ?, ?, ?)"; $stmt = $pdo->prepare($sql); $email = "[email protected]"; $name = "keeper"; $sex = 1; $address = "北京市西城区AB街33号"; $phone="18812345678"; $status = $stmt->execute(array($email, $name, $sex, $address, $phone)); # 处理查询结果 if($status){ #sql执行成功,则获取其执行结果并进一步处理 $result = $stmt->fetchAll(); # 输出查询结果 print_r("<pre>"); print_r($result); print_r("<pre>"); }else{ echo "执行出错!"; }显然,上面的select和insert操作都使用了prepare statement的方式,既保证高性能,又保证安全防注入。
5.使用smarty模版
smarty不是唯一的选择,但是是容易上手的选择。很多cms系统都使用了和smarty很相似的语法。
使用smarty3,而不是过时的smarty2.直接把demo目录下所有文件和文件夹和复制到你的项目中,并把libs目录复制到apache根目录。
稍微正规一点的话,应该考虑入口文件,对url进行解析后进行请求分发,分配到不同的业务逻辑代码上。。。但是为了简单起见,这里就先不使用分发页面了。。(需要参考thinkphp等框架看看人家是怎么配置的)
\(smarty=new Smarty;
\)smarty->assign('var_name', 'var_value');
$smarty->display('target_template_page.tpl');
6.使用bootstrap
都什么年代了,前端虽然自己不会写,但起码要知道bootstrap的存在要用它。用bootstrap3.
7.一个只有增删改查模块的简陋应用
终于进入正题了,一个只具有增删改查功能的简陋应用:增加联系人,删除联系人,修改联系人,查看联系人。
是根据《Web开发的平民英雄:php+mysql》上的例子修改而来。原书中使用最简陋的代码编写而成。本代码改进如下:
使用smarty模版;使用PDO操作数据库;使用bootstrap美化界面;精简数据表。
下载链接
http://pan.baidu.com/s/1mhLwj1Y
PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性php 7.4
PHP7.0~PHP7.1~PHP7.2~PHP7.3~PHP7.4新特性php 7.2 7.3
PHP之——在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。wampserver打开php项目
PHP之——在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)支持。wampserver开发php网页
PHP配置指令作用域说明(PHP,INI,PERDIR、PHP,INI,SYSTEM、PHP,INI,USER、PHP,INI,ALL)php 作用域
PHP - 什么是 PHP? 为什么用 PHP? 有谁在用 PHP?为什么说php
[PHP] PHP的纯CPU基准测试(PHP5.5.9 vs PHP7.2.1)php性能测试
[PHP问题]PHP Warning: PHP Startup: Unable to load dynamic library ‘C:/AppServ\php5php基础问题