ホームページ  >  記事  >  バックエンド開発  >  PHP カーネル学習-01-準備_PHP チュートリアル

PHP カーネル学習-01-準備_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:09:48822ブラウズ

長い間 PHP について何も書いていませんでしたが、今回は PHP カーネルに関する知識について話します。


運営さん曰く、説明を始める前に環境を整えましょう


環境の準備:


1. Linux 環境の場合は、ubuntu/debian を使用します。どちらのシステムでも問題ありません。

2. PHP ソースコード、説明しているコードは php-5.4.13.tar.gz で、コードは php 公式 Web サイトからダウンロードできます

3. Webサーバーはnginxを使用し、データベースはmysqlです

PHPソースコードを用意する必要がありますが、オプションでnginxとmysqlをインストールできます

PHP ソース コードをダウンロードした後、ソース コードを解凍し、まずソース コードのディレクトリ構造を確認します。
ビルド: これには主にソースコードのコンパイルに関連するファイルが含まれます

続き: PHP 拡張機能のソース コード パス

メイン:

Zend: Zend エンジン実装ディレクトリ


pear: PHP 拡張機能とアプリケーション リポジトリ

sapi: Apache、nginx などのさまざまなサーバー抽象化レイヤー コード

TSRM: スレッドセーフなリソースマネージャー

テスト: テストコード

ソースコードを表示するには、vim+ctags を使用します。これが何であるかわからない場合は、Baidu をご自身で調べてください。


知識の準備:

PHP ソースコードには多くのマクロ定義が使用されています。始める前に、マクロに関する知識を確認しましょう。

1. Double ## これは C 言語のコネクタです。例を見てみましょう。

#define TEST(名前) hello_##name

呼び出しの結果を見てみましょう: TEST(world): hello_world

分かりますか?

2. # 記号をもう一度見てみましょう。この記号の機能は、マクロ変数の置換値の前後に二重引用符を追加することです。例を見てみましょう。

#define TEST(str) #str

呼び出しを見てみましょう: printf(TEST(HELLO WORLD));結果は printf("HELLO WORLD"); です

3. #line このコマンドは現在の行番号とファイル名を変更するために使用されます

4. よく使われるマクロもいくつかありますので、今後使用する際には紹介していきます



http://www.bkjia.com/PHPjc/477574.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477574.html技術記事久しぶりに PHP について書きます。今回は PHP カーネルに関する知識について話します。 運営によると、説明を始める前に環境を準備しましょう: 環境の準備: 1. Linux 環境...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。