この記事の目的:
1. 特定のアイデアに従ってプロジェクトを分析する方法を学びます
ケース:
1. を使用します。オブジェクト指向 このメソッドに必要な最終効果は次のとおりです:
要件:
使用する必要がある知識ポイント:
1。クラス定義
2. クラスのインスタンス化
3. オブジェクト参照の割り当て=&
4. デストラクター
5. コンストラクター
この場合に達成される効果は実際には非常に単純ですが、重要なのはあなたの考えが明確であるかどうかです。アイデアはある程度まとまっていますか、あるいは多くのプロジェクトを行ってきましたか、自分なりの体系的なアイデアや計画をまとめていますか?私の要約は次のとおりです:
3 分析:
1. プロセス分析
2. 特定の実装分析
3 、データベース分析
3回の実行:
1. データベースの作成、データベースデータの初期化(プロジェクト起動データ)
2. クラスの作成、実装クラス
3. プロセスを書く
次に一つずつ分析していきます
##1. プロセス分析
1 . すべての部門情報を取得します2. 単一の部門情報を取得します#3. オブジェクト参照割り当てのテストを作成します =&
例: $jordon1=&$ jordon
4. すべてのロジックの最後に文を記述します: アプリケーションはここで終了します
5. クラスのデストラクターが実行されます
2. 具体的な実装分析##1. 最初のステップ: オブジェクトを特定する (名詞を見つける)## 上記のプロセスに基づくと、オブジェクトは 1 つだけです:
# 1 . 部門
2. ステップ 2: オブジェクトの属性を特定します (特定のシナリオを分析および結合するために、データ名詞を現実世界と組み合わせます)
##1. 部門のメソッドは
# 1. 取得する全部門情報
2. 単一部門情報の取得
すべてのデータをデータベースに保存し、すべてのデータをデータベースから取得する必要があるため、次は次の手順です。 ##データベース分析:
テーブル: (少なくともオブジェクトと同じ数のテーブルがあります) 1. 部門フィールド = オブジェクトの属性分析完了 最後に具体的な操作を行います
1.データベースの作成とデータベースデータの初期化(プロジェクト起動データ)
作成データベースに名前を付けます。「部門」という名前にします。
データベースのテーブルを作成し、部門テーブルという名前であることを示します。
初期化データ (プロジェクトの起動データと呼ぶことができます。このデータがないとプロジェクトを開始できません) があるかどうかを分析し、これらの初期化データをデータベースに書き込みます。上記の分析をまとめると、初期化データは 3 つの部門です。
それでは、次にデータベースを初期化します
部門クラスの作成:
管理の便宜のため、すべてのクラスをモデル フォルダーに配置し、このクラス ファイルをDepartment.class.phpと呼びます。上記で分析したクラスの属性とメソッドを部門クラス
<?php //部门类 class Depart{ //定义属性 id,名称 public $id = ""; public $name = ""; public $conn = "";//数据库连接 public $tableName = "depart";//表名 //构造函数 public function __construct( $id,$name ){ //初始化属性 $this->id = $id; $this->name = $name; //初始化行为 初始化方法 $this->initConn(); } //析构函数 销毁数据库连接 public function __destruct(){ //销毁连接 if( $this->conn ){ mysqli_close( $this->conn ); echo "销毁了连接<br/>"; } } //定义方法 //创建公共的方法 获取数据库连接 public function initConn(){ $config = Array( "hostname"=>"127.0.0.1", "database"=>"depart", "username"=>"root", "password"=>"root" ); $this->conn = mysqli_connect( $config['hostname'],$config['username'] ,$config['password'], $config['database']); } // 1.获取所有部门信息 public function getAll(){ //创建数据库连接 $conn = $this->conn; //写sql $sql = " select * from ".$this->tableName; //执行sql $result = mysqli_query( $conn,$sql ); //获取数据 // mysqli_fetch_all($result)//特点:不会包含字段名 $list = Array(); while( $row = mysqli_fetch_assoc( $result ) ){ $list[] = $row; } //返回数据 return $list; } // 2.获取单个部门信息 public function getOne( $id ){ //创建数据库连接 $conn = $this->conn; //写sql $sql = " select * from ".$this->tableName." where id= ".$id; //执行sql $result = mysqli_query( $conn,$sql ); //获取数据 // mysqli_fetch_all($result)//特点:不会包含字段名 $list = Array(); while( $row = mysqli_fetch_assoc( $result ) ){ $list[] = $row; } //返回数据 return $list; } } ?>3に書き込みます。プロセスを書き込みます 次に、プロセス分析の結果に基づいて、具体的なプロセスとプロセス コードを次のように記述します。
<?php //引入类文件 require_once "model/Depart.class.php"; //写流程 // 1.获取所有部门信息 // $humanResourseDepartment = new Depart(2,"行政部门"); //通过对象调用方法 $alllist = $humanResourseDepartment->getAll(); echo "<b>所有部门信息为:</b><br/>"; print_r( $alllist ); echo "<br/>"; // 2.获取单个部门信息 = 开发部门 $devDepartment = $humanResourseDepartment ->getOne( 1 ); echo "<b>开发部门信息:</b> <br/>"; print_r( $devDepartment ); echo "<br/>"; // 3.对象引用赋值=&的测试 // $jordon1=&$jordon $humanResourseDepartment1 =& $humanResourseDepartment; echo "修改前:行政部门的名字为:".$humanResourseDepartment->name."<br/>"; //修改 $humanResourseDepartment1->name = "人力部门"; echo "修改后:行政部门的名字为:".$humanResourseDepartment->name."<br/>"; // 4.在所有逻辑最后写一句话:应用程序到此为止 echo "<b>应用程序到此为止</b> <br/>"; // 5.执行了一个类的析构函数 ?>
実行結果は次のとおりです。
すべての部門情報は次のとおりです:Array ( [0] => Array ( [ id] => 1 [name] => 開発部門) [1] => Array ( [id] => 2 [名前] => 管理部) [2] => Array ( [id] => 3 [名前] => 物流部) )開発部情報:
Array ( [0] => Array ( [id] => 1 [name] => 開発部) ) 変更前: 管理部門の名前: 管理部門
アプリケーションはここで終了します
接続が切断されました
(2) 概要:
1.主にプロジェクト分析のアイデアを記録しましたこの記事が皆さんのお役に立てれば幸いです、ありがとうございます! !
以上が簡単な部門ケースの詳細説明(PHPコード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









