teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

おかしな説明の所を修正

2017/05/03 13:17

投稿

raccy
raccy

スコア21767

answer CHANGED
@@ -123,7 +123,7 @@
123
123
 
124
124
  * `zend_declare_class_constant_ex()`<zen_API.c >にて、zend_class_entryのconstants_table(HashTableという型のハッシュテーブル)に`zend_hash_add_ptr()`で追加することでクラスの定義が行われます。
125
125
  * `zend_compile_class_const_decl()`<zend_complie.c>にて、astから名前のastと値のastを取得し、値のastを`zend_const_expr_to_zval()`に投げた結果のzvalを`zend_declare_class_constant_ex()`に投げています。
126
- * zend_const_expr_to_zval()<zend_compile.c>では、それが定数なら`zend_compile_const_expr()`が呼ばれます。このときast対して`zend_compile_const_expr()`の処理があり、クラス定数ならさらに`zend_compile_const_expr_class_const()`が呼ばれます。
126
+ * zend_const_expr_to_zval()<zend_compile.c>にて`zend_compile_const_expr()`の処理があり、クラス定数ならさらに`zend_compile_const_expr_class_const()`が呼ばれまてastがzvalを取れる形に変換されます。
127
- * `zend_compile_const_expr_class_const()`では、クラス定数がまた未定義の時は、`クラス名::定数名`を見に行くzvalに変換します。
127
+ * `zend_compile_const_expr_class_const()`にて、クラス定数がまた未定義の時は、astを`クラス名::定数名`を見に行くzvalに変換します。
128
128
 
129
129
  PHPにそこまで詳しくないので間違っているかも知れませんが、上のような動きのようです。ということで、ソースコードを見る限り、**JunSuzukiJapanさんの推測が正しい**と思われます。ベストアンサーはJunSuzukiJapanさんに上げたいと思います。