首頁 後端開發 php教程 PHP基础开发代码示范

PHP基础开发代码示范

Jun 13, 2016 pm 01:04 PM
echo function gt lt

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

登入後複製
checked="checked" } ?>/>查询数据测试 checked="checked" } ?>/>添加数据测试 checked="checked" } ?>/>修改数据测试


面向对象编程:
<?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>';



?>

登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

華為GT3 Pro和GT4的差異是什麼? 華為GT3 Pro和GT4的差異是什麼? Dec 29, 2023 pm 02:27 PM

華為GT3 Pro和GT4的差異是什麼?

function是什麼意思 function是什麼意思 Aug 04, 2023 am 10:33 AM

function是什麼意思

修復:截圖工具在 Windows 11 中不起作用 修復:截圖工具在 Windows 11 中不起作用 Aug 24, 2023 am 09:48 AM

修復:截圖工具在 Windows 11 中不起作用

五個精選的Go語言開源項目,帶你探索科技世界 五個精選的Go語言開源項目,帶你探索科技世界 Jan 30, 2024 am 09:08 AM

五個精選的Go語言開源項目,帶你探索科技世界

Go語言開發必備:5個熱門框架推薦 Go語言開發必備:5個熱門框架推薦 Mar 24, 2024 pm 01:15 PM

Go語言開發必備:5個熱門框架推薦

如何修復無法連線到iPhone上的App Store錯誤 如何修復無法連線到iPhone上的App Store錯誤 Jul 29, 2023 am 08:22 AM

如何修復無法連線到iPhone上的App Store錯誤

使用Golang的Web框架Echo框架實現分散式任務調度 使用Golang的Web框架Echo框架實現分散式任務調度 Jun 24, 2023 am 11:49 AM

使用Golang的Web框架Echo框架實現分散式任務調度

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

See all articles