PHPの基本的な開発コードのデモ
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<$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>'; ?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

ファンクションとは、関数を意味します。これは、特定の関数を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を実行し、結果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

今日の急速な技術発展の時代では、雨後の筍のようにプログラミング言語が出現しています。多くの注目を集めている言語の 1 つは Go 言語です。Go 言語は、そのシンプルさ、効率性、同時実行の安全性などの機能により多くの開発者に愛されています。 Go 言語は、多くの優れたオープンソース プロジェクトがある強力なエコシステムで知られています。この記事では、厳選された 5 つの Go 言語オープンソース プロジェクトを紹介し、読者を Go 言語オープンソース プロジェクトの世界へ導きます。 KubernetesKubernetes は、自動化されたオープンソースのコンテナ オーケストレーション エンジンです。

「Go 言語開発の要点: 5 つの人気フレームワークの推奨事項」 高速で効率的なプログラミング言語として、Go 言語はますます多くの開発者に好まれています。開発効率を向上させ、コード構造を最適化するために、多くの開発者はフレームワークを使用してアプリケーションを迅速に構築することを選択します。 Go 言語の世界には、選択できる優れたフレームワークが数多くあります。この記事では、5 つの人気のある Go 言語フレームワークを紹介し、読者がこれらのフレームワークをよりよく理解して使用できるように、具体的なコード例を示します。 1.GinGin は高速な軽量 Web フレームワークです。

パート 1: 最初のトラブルシューティング手順 Apple のシステムステータスを確認する: 複雑な解決策を掘り下げる前に、基本から始めましょう。問題はデバイスにあるのではなく、Apple のサーバーがダウンしている可能性があります。 Apple のシステム ステータス ページにアクセスして、AppStore が適切に動作しているかどうかを確認してください。問題があれば、Apple が修正してくれるのを待つしかありません。インターネット接続を確認します。「AppStore に接続できません」問題は接続不良が原因である場合があるため、安定したインターネット接続があることを確認してください。 Wi-Fi とモバイル データを切り替えるか、ネットワーク設定をリセットしてみてください ([一般] > [リセット] > [ネットワーク設定のリセット] > [設定])。 iOS バージョンを更新します。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

インターネットの発達や情報技術の進歩によりビッグデータの時代が到来し、データ分析や機械学習などの分野も広く活用されています。これらの分野では、タスクのスケジューリングは避けられない問題です。効率的なタスクのスケジューリングを実現する方法は、効率を向上させるために重要です。この記事では、Golang の Web フレームワーク Echo フレームワークを使用して分散タスク スケジューリングを実装する方法を紹介します。 1. Echo フレームワークの概要 Echo は、高性能、スケーラブル、軽量の GoWeb フレームワークです。 HTTPに基づいています
