Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
XCLコアでのclass_exists関数の使用について
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
K. Ono  
View profile   Translate to Translated (View Original)
 More options Feb 22 2009, 11:53 pm
From: "K. Ono" <onok...@gmail.com>
Date: Mon, 23 Feb 2009 13:53:07 +0900
Local: Sun, Feb 22 2009 11:53 pm
Subject: XCLコアでのclass_exists関数の使用について
onokazuです。

XCLのコアでclass_exists関数が結構使われていますが、PHP5環境のために
2番目の引数をfalseにしてもらえないでしょうか。モジュール側で
__autoloadを定義している場合、class_existsの呼び出しの度にモジュール
側の__autoloadが呼ばれてしまって少し困っています。

コア側で__autoloadを定義することはないと思いますし、影響はほとんどない
のではと思います。PHP4とPHP5でクラスローディングの挙動が異なるのも
バグと言えなくもないですし。。

または、規定のファイルや関数が存在しない場合、クラスもないとみなす
とか。。こっちの方が変更は多くなると思いますが。

これに関連して、複数のモジュールで__autoloadが定義されていた場合、
ブロックやプリロードでバッティングしてしまうことも考えられますので、
逆にコア側で中身は空でも構わないので__autoloadを定義しておくのも良い
かもしれないですね。モジュール側で__autoloadが必要な場合には
spl_autoload_registerを使うということで。


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
K. Ono  
View profile   Translate to Translated (View Original)
 More options Feb 23 2009, 7:35 am
From: "K. Ono" <onok...@gmail.com>
Date: Mon, 23 Feb 2009 21:35:47 +0900
Local: Mon, Feb 23 2009 7:35 am
Subject: Re: XCLコアでのclass_exists関数の使用について
onokazuです。

自己レスです。PHP4だとwarning出るだけかと思っていたら、返り値も
nullになってしまうんですね。そうなると単純に引数追加じゃ無理か。。
対応するにはコア側でclass_existsをラップした関数作るしかなさそうですね。

2009/2/23 K. Ono <onok...@gmail.com>:


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Minahito  
View profile   Translate to Translated (View Original)
 More options Feb 23 2009, 7:13 pm
From: Minahito <minah...@gmail.com>
Date: Tue, 24 Feb 2009 09:13:43 +0900
Local: Mon, Feb 23 2009 7:13 pm
Subject: Re: [xcube-dev-ja:496] Re: XCLコアでのclass_exists関数の使用について
minahitoです。
class_exists() って、定義テーブルを見に行くだけだと思っていたの
で、PHP5の第2パラメータを見て驚いてしまいました。

ラッパーというか、マクロ的関数を追加して、コアの守備範囲を書き換え
ておきますね。

On 2009/02/23, at 21:35, "K. Ono" <onok...@gmail.com> wrote:


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
のぶのぶ  
View profile   Translate to Translated (View Original)
 More options Feb 23 2009, 7:36 pm
From: のぶのぶ <nobun...@nobunobu.com>
Date: Tue, 24 Feb 2009 09:36:11 +0900
Local: Mon, Feb 23 2009 7:36 pm
Subject: Re: [xcube-dev-ja:497] Re: XCLコアでのclass_exists関数の使用について
のぶのぶです。

> class_exists() って、定義テーブルを見に行くだけだと思っていたので、PHP5の第2パラメータを見て驚いてしまいました。

小生も少し気になって調べてみましたが、この第2パラメータ及び、class_exists()の
デフォルト動作については、いろいろなサイトで問題視されている記事を見かけますね。

これへの対応については、__autoload側で行われている場合もあるようですが...
XCLのように、モジュールのごった煮状態を許容している以上は、class_exists()の使用側で
対応する以外ないようですね

2009/02/24 9:13 Minahito <minah...@gmail.com>:


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Minahito  
View profile   Translate to Translated (View Original)
 More options Feb 24 2009, 12:53 pm
From: Minahito <minah...@gmail.com>
Date: Wed, 25 Feb 2009 02:53:23 +0900
Local: Tues, Feb 24 2009 12:53 pm
Subject: Re: [xcube-dev-ja:498] Re: XCLコアでのclass_exists関数の使用について
minahitoです。
Cマクロライクなものに関しては大域関数を許すというコード規約に従っ
て、まずは XCube_Root を修正してコミットしました。

といっても畳込みが起こるわけではないので……
今後、PHP4/5の吸収マクロが増えていくようならPHP4用定義
ファイルとPHP5用定義ファイルの2つを用意して、 include  
時に読み替えるという方法も検討してみます。

Trunk 以外は trunk 側の作業が終わり次第マージさせます。逆の
ような気もしますが気にしない。;;

On 2009/02/24, at 9:36, のぶのぶ <nobun...@nobunobu.com> wrote:


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
K. Ono  
View profile   Translate to Translated (View Original)
 More options Feb 24 2009, 9:54 pm
From: "K. Ono" <onok...@gmail.com>
Date: Wed, 25 Feb 2009 11:54:47 +0900
Local: Tues, Feb 24 2009 9:54 pm
Subject: Re: [xcube-dev-ja:499] Re: XCLコアでのclass_exists関数の使用について
onokazuです。

早速の対応ありがとうございます。

あとはサードパーティモジュールでも__autoloadを想定していない場合には、
この関数を使用してもらえるようになれば良いですね。

2009/2/25 Minahito <minah...@gmail.com>:


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
nao-pon  
View profile   Translate to Translated (View Original)
 More options Mar 2 2009, 8:25 am
From: nao-pon <hyp...@gmail.com>
Date: Mon, 2 Mar 2009 05:25:55 -0800 (PST)
Local: Mon, Mar 2 2009 8:25 am
Subject: Re: XCLコアでのclass_exists関数の使用について
nao-pon です。

class_exists() の第二引数の存在すら知りませんでしたので、これは、本当にびっくりしました。

HypCommonFunc, xpWiki はプリロードやブロックで読み込まれますので、早速対策をとりました。

On 2月25日, 午前11:54, "K. Ono" <onok...@gmail.com> wrote:


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
minahito  
View profile   Translate to Translated (View Original)
 More options Mar 2 2009, 11:25 am
From: minahito <minah...@gmail.com>
Date: Tue, 3 Mar 2009 01:25:58 +0900
Local: Mon, Mar 2 2009 11:25 am
Subject: Re: [xcube-dev-ja:501] Re: XCLコアでのclass_exists関数の使用について
minahito です。
一応 trunk にあった class_exists は全部置き換えました。

折を見てブランチへマージしたいと思います。

> class_exists() の第二引数の存在すら知りませんでしたので、これは、本当にびっくりしました。

いや、ほんとそうです。(^^;

貴重な情報ありがとうございました > onokazu さん

2009/03/02 22:25 nao-pon <hyp...@gmail.com>:

--
minahito (minah...@gmail.com)

    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2010 Google