PHP基础开发代码示例~
最近打算重拾PHP来开发一些小型应用,很久没用PHP了,有些语法都生疏了,今天上午写了三个例子,基本上把之前的PHP复习了一下。
基础语法操作:
<?php
//输出的方式测试
echo '###################输出测试################<br>';
echo '测试输出1(单引号)<br>';
echo "测试塑出2(双引号)<br>";
?>
<?='测试输出3(=表达式)<br>'?>
<? echo '测试输出4(单个表达式)<br>'; ?>
<?php
//类型
echo '###################类型测试################<br>';
$testInt = 1;
$testStr = "字符串";
$testFloat = 1.23;
$testBoolean = false; //false/true:如果转换成字符串则为空/"1",转换成整型则为0/1
$testArray = array("first"=>1,2,3,4,5);
$testStr2 = $testStr; //testStr修改,testStr2不会修改
$testStr3 = &$testStr; //testStr修改,testStr3也会修改
echo '整型:'.$testInt.'<br>';
echo '字符串型:'.$testStr.'<br>';
$testStr = '字符串修改了';
echo '字符串型修改后:'.$testStr.'<br>';
echo '字符串型修改后(2):'.$testStr2.'<br>';
echo '字符串型修改后(3):'.$testStr3.'<br>';
echo '浮点型:'.$testFloat.'<br>';
echo '布尔型:'.(int)$testBoolean.'<br>';
echo '数组测试(1):'.$testArray[0].'<br>';
echo '数组测试(2):'.$testArray['first'].'<br>';
print_r($testArray);
echo '<br>';
foreach ($testArray as $i => $value) {
echo '数组迭代结果:'.$i."->".$value."<br>";
}
//IO操作
echo '##################IO操作####################<br>';
echo '读取该文件的内容:<br>';
$theFileName = "test_base.php"; //文件名称或者全路径
$handle = fopen ($theFileName, "rb");
$contents = fread ($handle, filesize ($theFileName));
fclose ($handle);
echo '<div style="border:1px solid #aaa;color:blue;"><pre class="brush:php;toolbar:false;">'.htmlspecialchars($contents).'
<?php
//四种引用方式
//require 'test_base.php'; //无条件的引用,报错会终止应用,引用的文件只处理一次
//require_once 'test_base.php'; //无条件的引用,报错会终止应用,引用的文件只处理一次并只显示一次
//include 'test_base.php'; //可有条件的引用,报错不会终止应用,引用的文件处理多次
//include_once 'test_base.php'; //可有条件的引用,报错不会终止应用,引用的文件处理多次但只显示一次
//数据库的测试
$hostname = '192.168.1.6'; /*数据库服务器访问地址*/
$username = 'root'; /*数据库用户帐号*/
$password = 'root'; /*数据库密码*/
$database = 'phptest'; /*数据库名称*/
$databaseCharset = 'GBK'; /*数据库编码,防止插入中文乱码和报错*/
//获取请求信息
$actionSubmit = $_REQUEST['submit'];
$reqTheType = $_REQUEST['theType'];
if($reqTheType == null || $reqTheType == '') {
$reqTheType = '1';
}
echo '请求信息:'.$actionSubmit."|".$reqTheType.'<br>';
if($actionSubmit != null && $actionSubmit != '') {
if($reqTheType == '1') {
testSearch();
}
if($reqTheType == '2') {
testInsert();
testSearch();
}
if($reqTheType == '3') {
testUpdate();
testSearch();
}
}
/**
* 数据库查询
* Enter description here ...
*/
function testSearch() {
echo '查询数据<br>';
global $hostname,$username,$password,$database,$databaseCharset;
$currentConn = null;
$currentConn = mysql_connect ( $hostname, $username, $password );
mysql_select_db ( $database );
mysql_query("set names charset ".$databaseCharset);
mysql_query("set names ".$databaseCharset);
$result = mysql_query ( "select * from e_user" ); //查询动作返回的是result结果集
while ( $row = mysql_fetch_object ( $result ) ) {
echo $row->uri . "\t" . ($row->username) . "<br>";
}
mysql_free_result ( $result );
mysql_close ( $currentConn );
}
/**
* 数据库数据添加
* Enter description here ...
*/
function testInsert() {
global $hostname,$username,$password,$database,$databaseCharset;
$insertSql = "insert into e_user(uri,username,password) values";
$insertSql .= "(";
$insertSql .= "'".generateId()."','测试用户','123456'";
$insertSql .= ")";
$currentConn = null;
$currentConn = mysql_connect ( $hostname, $username, $password );
mysql_select_db ( $database );
mysql_query("set names charset ".$databaseCharset);
mysql_query("set names ".$databaseCharset);
echo '添加数据'.$insertSql.'<br>';
$result = mysql_query($insertSql); //插入动作返回的是boolean
if(!$result) {
die('Error: ' . mysql_error());
}
mysql_close ( $currentConn );
}
/**
* 数据库修改
* Enter description here ...
*/
function testUpdate() {
global $hostname,$username,$password,$database,$databaseCharset;
$updateSql = "update e_user";
$updateSql .= " set username='修改后的用户名称' where uri = '001'";
$currentConn = null;
$currentConn = mysql_connect ( $hostname, $username, $password );
mysql_select_db ( $database );
mysql_query("set names charset ".$databaseCharset);
mysql_query("set names ".$databaseCharset);
echo '修改数据'.$updateSql.'<br>';
$result = mysql_query($updateSql); //插入动作返回的是boolean
if(!$result) {
die('Error: ' . mysql_error());
}
mysql_close ( $currentConn );
}
/**
* 自动生成ID号
* @param unknown_type $count
*/
function generateId($count = 6) {
$resultId = '';
for($i=0;$i<$count;$i++) {
$resultId .= (string)rand(0, 9);
}
return $resultId;
}
?>
<form>
<input type="radio" name="theType" value="1" <? if($reqTheType == '1') {?>checked="checked"<? } ?>/>查询数据测试
<input type="radio" name="theType" value="2" <? if($reqTheType == '2') {?>checked="checked"<? } ?>/>添加数据测试
<input type="radio" name="theType" value="3" <? if($reqTheType == '3') {?>checked="checked"<? } ?>/>修改数据测试
<input type="submit" name="submit" value="提交" /></form>
<?php
//基础的抽象用户类
abstract class BaseUser {
protected $flag = 0;
abstract function showInfo();
}
//接口类
interface Module {
function start();
function stop();
}
//测试PHP类和对象
class MyUser extends BaseUser implements Module {
/*成员变量*/
private $uri = '';
private $type = '';
protected $username = '';
public $password = '';
/*静态变量*/
const USER_TYPE_NORMAL = "normal";
/*构造函数*/
function __construct($uri = '',$username = '', $password = '') {
$this->uri = $uri;
$this->username = $username;
$this->password = $password;
$this->flag = '100';
$this->type = self::USER_TYPE_NORMAL;
}
/*测试静态函数的处理*/
static function testStatic() {
//$this->username = 'static'; //该方法是错误的,静态方法中只能操作静态变量
return self::USER_TYPE_NORMAL;
}
/*get set 方法用于管理内部的字段属性*/
public function getUri() {
return $this->uri;
}
public function getUsername() {
return $this->username;
}
public function getPassword() {
return $this->password;
}
public function setUri($uri) {
$this->uri = $uri;
}
public function setUsername($username) {
$this->username = $username;
}
public function setPassword($password) {
$this->password = $password;
}
public function getType() {
return $this->type;
}
public function setType($type) {
$this->type = $type;
}
/*实现底层的抽象方法*/
function showInfo() {
echo '我是MyUser对象.';
}
//实现接口方法
public function start() {
echo '启动MyUser对象....';
}
//实现接口方法
public function stop() {
echo '停止MyUser对象....';
}
}
//扩展自MyUser的类
class MyExtendUser extends MyUser implements Module {
/*覆盖父类的构造函数*/
function __construct($uri = '',$username = '', $password = '') {
//调用父类的构造函数
parent::__construct($uri,$username,$password);
//实现自己的一些初始化动作
$this->flag = '200';
}
/*覆盖父类的getUsername方法*/
public function getUsername() {
return '继承自MyUser,'.$this->username;
}
//实现接口方法
public function start() {
echo '启动MyExtendUser对象....';
}
//实现接口方法
public function stop() {
echo '停止MyExtendUser对象....';
}
}
//测试用户对象
$theUserObj = new MyUser('001','测试用户1','123');
echo '用户名称:'.$theUserObj->getUsername().'<br>';
print_r($theUserObj);
echo '<br>';
echo '测试静态函数1:'.$theUserObj->testStatic().'<br>';
echo '测试静态函数2:'.MyUser::testStatic().'<br>';
echo '测试实现的接口:';
$theUserObj->start();
echo '<br>';
//测试继承
$theUserObj2 = new MyExtendUser('002','测试用户2','123');
echo '用户名称2(继承):'.$theUserObj2->getUsername().'<br>';
print_r($theUserObj2);
echo '<br>';
echo '测试实现的接口2:';
$theUserObj2->start();
echo '<br>';
?>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号