PHP 関数 __autoload() および spl_autoload_register()
PHP 関数 __autoload() および spl_autoload_register()
__autoload($classname){
}
このメソッドは、PHP が独自の関数またはメソッドを登録するときにクラス ファイルを見つけられない場合に呼び出されます。 __autoload() 関数が呼び出され、カスタム関数が呼び出されます
spl_autoload_register('func_name');
spl_autoload_register(array('class_name','method_name'));
詳細は次のとおりです:
spl_autoload_register
(PHP 5 >= 5.1.2)
spl_autoload_register ? __autoload() 関数を登録します
説明
bool spl_autoload_register ([ callback $autoload_function ] )
関数を SPL __autoload 関数スタックに登録します。このスタック内の関数がまだアクティブになっていない場合は、アクティブにします。
__autoload 関数がプログラムに実装されている場合は、__autoload スタックに明示的に登録する必要があります。
spl_autoload_register() 関数は Zend Engine の __autoload 関数を spl_autoload() または
spl_autoload_call() に置き換えるからです。
Parameters
autoload_function
登録するオートロード関数。パラメーターが指定されていない場合、autoload
spl_autoload() のデフォルト実装関数が自動的に登録されます。
戻り値
成功した場合は TRUE、失敗した場合は FALSE を返します。
注: SPL は Standard PHP Library の略称です。これは、PHP5 で導入された拡張ライブラリであり、その主な機能には、オートロード メカニズムとさまざまな Iterator インターフェイスまたはクラスの実装が含まれます。 SPL オートロード メカニズムは、関数ポインタ autoload_func をオートロード関数を持つ自己実装関数にポイントすることによって実装されます。 SPL には 2 つの異なる関数 spl_autoload と spl_autoload_call があり、これら 2 つの異なる関数アドレスを autoload_func に指定することで、異なる自動ロード メカニズムが実装されます。
test.class.php
class Test
{
function __construct()
{
echo 'PHP や Flex のマスターと友達になりたいと思っています。一緒に学び、一緒に働きましょう!!! QQ:1055983238';
}
}
?>
load.php
class LOAD
{
static functionloadClass($class_name)
{
$filename = $ class_name.".class.php";
if (is_file($filename)) return include_once $filename;
}
}
/**
* オブジェクトの自動ロードを設定します
* spl_autoload_register ? 指定された関数を __autoload() 実装として登録します
*/
spl_autoload_register(array('LOAD', 'loadClass')) ;
$a = new Test();//多くのフレームワークはこのメソッドを使用してクラスを自動的にロードします
?>
class autoload
{
public static function load( $class name )
{
$filename = "/home/user/class/".$classname."class.php";
if (file_exists($filename)) {
require_once $filename
}
}
}
; function __autoload( $class name )
{ // これはデフォルトの自動ロード メソッドです
if (file_exists($filename) ]
// 注 : 次のクラスは未定義のように見えますが、実際には、システムは指定されたパスに基づいて /home/user// /class/*.class.php の下にある foo.class.php ファイルを自動的に検索します。 sql_autoload_register が見つからない場合は、エラーが報告されます。
$foo = 新しい foo();
$foo ->bar();

ホット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)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。
