Rumah pembangunan bahagian belakang tutorial 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).'
Salin selepas log masuk
'; ?>

数据库的处理:
<?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

Salin selepas log masuk
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>';



?>

Salin selepas log masuk

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1261
29
Tutorial C#
1234
24
Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Apakah maksud fungsi? Apakah maksud fungsi? Aug 04, 2023 am 10:33 AM

Fungsi bermaksud fungsi. Ia adalah blok kod yang boleh digunakan semula dengan fungsi tertentu Ia boleh menerima parameter input, melakukan operasi tertentu, dan mengembalikan hasil daripada blok yang boleh digunakan semula. kod untuk meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

Lima projek sumber terbuka bahasa Go yang dipilih untuk membawa anda meneroka dunia teknologi Lima projek sumber terbuka bahasa Go yang dipilih untuk membawa anda meneroka dunia teknologi Jan 30, 2024 am 09:08 AM

Dalam era perkembangan teknologi yang pesat hari ini, bahasa pengaturcaraan bermunculan seperti cendawan selepas hujan. Salah satu bahasa yang telah menarik perhatian ramai ialah bahasa Go, yang digemari oleh ramai pembangun kerana kesederhanaan, kecekapan, keselamatan serentak dan ciri-ciri lain. Bahasa Go terkenal dengan ekosistemnya yang kukuh dengan banyak projek sumber terbuka yang sangat baik. Artikel ini akan memperkenalkan lima projek sumber terbuka bahasa Go yang dipilih dan membawa pembaca untuk meneroka dunia projek sumber terbuka bahasa Go. KubernetesKubernetes ialah enjin orkestrasi kontena sumber terbuka untuk automatik

Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo dan Pusher? Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo dan Pusher? Jun 13, 2023 pm 05:01 PM

Laravel ialah rangka kerja PHP popular yang sangat berskala dan cekap Ia menyediakan banyak alat dan perpustakaan yang berkuasa yang membolehkan pembangun membina aplikasi web berkualiti tinggi dengan cepat. Antaranya, LaravelEcho dan Pusher ialah dua alat yang sangat penting di mana komunikasi WebSockets boleh dilaksanakan dengan mudah Artikel ini akan memperincikan cara menggunakan kedua-dua alat ini dalam aplikasi Laravel. Apakah itu WebSockets? WebSockets

Penjelasan terperinci tentang peranan dan penggunaan kata kunci gema dalam PHP Penjelasan terperinci tentang peranan dan penggunaan kata kunci gema dalam PHP Jun 28, 2023 pm 08:12 PM

Penjelasan terperinci tentang peranan dan penggunaan kata kunci gema dalam PHP PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas, yang digunakan secara meluas dalam pembangunan web. Kata kunci gema ialah kaedah yang digunakan untuk mengeluarkan kandungan dalam PHP. Artikel ini akan memperkenalkan secara terperinci fungsi dan penggunaan kata kunci gema. Fungsi: Fungsi utama kata kunci gema adalah untuk mengeluarkan kandungan ke penyemak imbas. Dalam pembangunan web, kita perlu mempersembahkan data secara dinamik ke halaman hadapan Pada masa ini, kita boleh menggunakan kata kunci gema untuk mengeluarkan data ke halaman. e

Apakah rangka kerja golang yang paling popular di pasaran? Apakah rangka kerja golang yang paling popular di pasaran? Jun 01, 2024 pm 08:05 PM

Rangka kerja Go yang paling popular pada masa ini termasuk: Gin: rangka kerja web yang ringan dan berprestasi tinggi yang ringkas dan mudah digunakan. Echo: Rangka kerja web yang pantas dan boleh disesuaikan yang menyediakan penghalaan dan perisian tengah berprestasi tinggi. GorillaMux: Pemultipleks pantas dan fleksibel yang menyediakan pilihan konfigurasi penghalaan lanjutan. Fiber: Rangka kerja web berprestasi tinggi yang dioptimumkan prestasi yang mengendalikan permintaan serentak yang tinggi. Martini: Rangka kerja web modular dengan reka bentuk berorientasikan objek yang menyediakan set ciri yang kaya.

Apakah tujuan fungsi 'enumerate()' dalam Python? Apakah tujuan fungsi 'enumerate()' dalam Python? Sep 01, 2023 am 11:29 AM

Dalam artikel ini, kita akan belajar tentang fungsi enumerate() dan tujuan fungsi "enumerate()" dalam Python. Apakah fungsi enumerate()? Fungsi enumerate() Python menerima pengumpulan data sebagai parameter dan mengembalikan objek penghitungan. Objek penghitungan dikembalikan sebagai pasangan nilai kunci. Kuncinya ialah indeks yang sepadan dengan setiap item, dan nilainya ialah item. Syntax enumerate(iterable,start) Parameters iterable - Yang diluluskan dalam pengumpulan data boleh dikembalikan sebagai objek enumeration, dipanggil iterablestart - Seperti namanya, indeks permulaan objek enumeration ditakrifkan oleh permulaan. kalau kita abaikan

See all articles