検索

PHP の基本的な開発コードの例~
最近、いくつかの小さなアプリケーションを開発するために PHP に戻る予定です。長い間 PHP を使っていなかったので、今朝、以前の PHP を復習しながら 3 つの例を書きました。

基本的な構文操作:

<?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 までご連絡ください。
PHPの継続的な使用:その持久力の理由PHPの継続的な使用:その持久力の理由Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPおよびPython:類似点と相違点を調査しますPHPおよびPython:類似点と相違点を調査しますApr 19, 2025 am 12:21 AM

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPおよびPython:さまざまなパラダイムが説明されていますPHPおよびPython:さまざまなパラダイムが説明されていますApr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げますPHPとPython:彼らの歴史を深く掘り下げますApr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPとPythonの選択:ガイドPHPとPythonの選択:ガイドApr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPとフレームワーク:言語の近代化PHPとフレームワーク:言語の近代化Apr 18, 2025 am 12:14 AM

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

PHPの影響:Web開発などPHPの影響:Web開発などApr 18, 2025 am 12:10 AM

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?スカラータイプ、リターンタイプ、ユニオンタイプ、ヌル可能なタイプなど、PHPタイプのヒントはどのように機能しますか?Apr 17, 2025 am 12:25 AM

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません