【PHP】下らねぇ質問はID出して書き込みやがれ 89at PHP
【PHP】下らねぇ質問はID出して書き込みやがれ 89 - 暇つぶし2ch809:nobodyさん
09/11/06 23:34:43 vBz8RCVv
class hello_world
{
private $word = "こんにちは世界さん(^^)";

function view() {
return htmlspecialchars($this->word, ENT_QUOTES);
}
}


$obj = new hello_world();
echo $obj->view();

810:nobodyさん
09/11/06 23:38:43 vBz8RCVv
借り物のPCなのでデータベースを入れられないのと使い方がわからないのでちいたんは挫折しました
cakePHPもなんかドキュメントの通りやりましたがこのファイルにこれを書けという意味が理解できなかったため挫折しました
smartyはサンプルみて挫折しました

811:nobodyさん
09/11/06 23:41:26
phpでstaticとかprivateってつかえる?

812:nobodyさん
09/11/06 23:44:53
>>811
>>809見ろよ

813:nobodyさん
09/11/06 23:53:40
ちいたんは挫折しました

814:nobodyさん
09/11/06 23:54:01 vBz8RCVv
public
protected
private
が使えます

815:nobodyさん
09/11/06 23:54:54
ちいたんで挫折してたらこの世に使えるFWなくね?w
あとSmartyはFWでないしな

816:nobodyさん
09/11/06 23:59:14
symfonyはインストールできましたがドキュメント見ても分からないため挫折しました
ZendFrameworkはドキュメントがたくさんあってまだ読んでないです

フレームワークって新しい言語を覚えるような感じですね
気合入れないとだめですね

817:816
09/11/06 23:59:56 vBz8RCVv
id出し忘れました

818:nobodyさん
09/11/07 01:02:50
順を追ってステップアップしていくのが一番だよ
がんばれ!

819:nobodyさん
09/11/07 01:04:33
ちいたんはコメントないから初心者向きではないよ

820:nobodyさん
09/11/07 10:59:11 HHoKTIgI
//検索対象
$array = array("inquiry","support");
//検索する文字
$val = "inquiry_form";
// 検索文字が対象に一致するか
foreach($array as $item){
if(strstr($val,$item)){
//一致した場合の処理
}
}

検索する文字が検索対象に一致するか調べたいと思います。
上のように対象をforeachで回して$valに対象の文字列と一致するか
調べる方法が一番簡単だと思いますが、
検索する文字が複数ある場合、何回も上記の事をしなければいけません。
もう少し効率の良い書き方はないでしょうか?

821:nobodyさん
09/11/07 11:26:41
>>820
array_map使うと楽です

822:nobodyさん
09/11/07 11:32:59 HHoKTIgI
ありがとうございます。ぜひ参考にします。

823:nobodyさん
09/11/07 12:00:25
function a($a) {
$txt = "aaazzzccc";
if (strstr($txt,$a)) echo "一致\n";
}

$search = array("aaa","bbb","ccc");

$p = array_map("a",$search);


824:nobodyさん
09/11/07 12:23:34
> 検索する文字が複数ある場合、何回も上記の事をしなければいけません。
別にarray_mapなんか使わなくても単にforeachの二重ループにすればいいのでは?

825:nobodyさん
09/11/07 12:35:53
質問者は既にforeach使ってるみたいだね

826:nobodyさん
09/11/07 14:40:11
2重ループwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

827:nobodyさん
09/11/07 14:42:27
単にin_arrayでいいのでは?

828:nobodyさん
09/11/07 15:07:14
in_array= 配列に値があるかチェックする

質問では配列に格納された文字列が、変数に格納された含まれているかチェックする

おk?

829:nobodyさん
09/11/07 15:09:30 PiVKZwA7
HTML_QuickFormとSmartyの組み合わせだと、1ページに1つのフォームしか作れないんでしょうか?
検索しても複数ページの遷移の件などがヒットして、複数のQuickFormをSmartyに渡す方法が出て来ません

830:nobodyさん
09/11/07 15:29:08
>>828
日本語でおk

831:nobodyさん
09/11/07 16:00:49
>>830
in_arrayはお門違いってことが理解できなかったか
外人さん乙

832:nobodyさん
09/11/07 16:58:49
>>831
えっ・・・?
>検索する文字が検索対象に一致するか調べたいと思います。

833:nobodyさん
09/11/07 17:04:57
>>820の質問理解してる?
>>832さんよおじゃあin_array使ってコード書いてみろよwww

834:nobodyさん
09/11/07 17:06:46
>>832
質問者が少々日本語でおkなんだよ。意訳すると
「検索文字列が検索対象に含まれていたら何らかの処理をする、と言うロジックを
検索対象が複数だった場合にスマートに書きたい」
って事だろうからな

835:nobodyさん
09/11/07 17:09:04
//検索対象
$array = array("inquiry","support");
//検索する文字
$val = "inquiry_form";
// 検索文字が対象に一致するか
foreach($array as $item){
if(strstr($val,$item)){
//一致した場合の処理
}
}


これをin_arrayを使ってどう書くのか激しく興味あるんだけど

836:nobodyさん
09/11/07 17:13:26
$a=array(1,2,3);
foo($a, array(2,8,9));
てやったとき、両方に2が含まれてるからtrueが返って欲しいんだろうな。
if($a!=array_diff($a, array(2,8,9)))
ってどうよ?

837:836
09/11/07 17:14:31
strstrだったか、失礼しました。

838:nobodyさん
09/11/07 17:19:55
in_arrayでコードまだ??

839:nobodyさん
09/11/07 17:22:59
>>827=>>830=>>832逃亡乙

840:nobodyさん
09/11/07 22:43:03 CwxQOSeK
constってどういう状況で使うものでしょうか?

class test
{
const hiru_aisatu = "こんにちはっ!!";
const yoru_aisatu = "こんばんは・・・";
const hurarerutoki = "さようなら・・2度と会わないで";
}


echo test::hiru_aisatu;


こんなかんじで書くのと

$hiru_aisatu = "こんにちはっ!!";
$yoru_aisatu = "こんばんは・・・";
$hurarerutoki = "さようなら・・2度と会わないで";

echo $hiru_aisatu;

というふうに書くのはクラス使うほうがスピードは遅い?ような気がするのですが
複数人でコード書く場合はクラスでconst使ったほうがいいでしょうか?

841:nobodyさん
09/11/07 23:45:33
in_arrayで解決おじさんまだ????????????????

842:nobodyさん
09/11/07 23:57:06
規制されたままの方が良かったな

843:nobodyさん
09/11/07 23:57:15
>>840
・定数は上書きされない
・クラス定数は局所化される

844:nobodyさん
09/11/08 02:32:54 35LWJ8zb
関数にいくつでも値を渡すことって可能でしょうか?
hoge_func($a)
でも
hoge_func($a,$b,$c,$d,$e,$f)

ただし
function hoge_func($a=null,$b=null...
とは違う方法で

845:nobodyさん
09/11/08 02:56:24
array

846:nobodyさん
09/11/08 06:59:04
>>844
URLリンク(php.net)

847:nobodyさん
09/11/08 08:26:26 H7unfEmK
PHPとMYSQLでお気に入りの本を紹介するアプリ(紹介者は複数)を作ってるんだけど、
これまでに紹介された本の一覧ページで、同じ紹介者の本が連続して出ないようにしたいです。
たとえば登録時に10冊まとめて登録できる場合、主キーのIDを表示時のソートのキーにしたら
同じ人の紹介した本ばかりが一画面に出ることになります。
これを防ぐにはどうしたら良いですか?
登録時にランダム数を入れるカラムを作って、それをキーにして表示するのか、
それともPHPだけで出来るでしょうか?

848:nobodyさん
09/11/08 08:59:03
>>847
全然適当な並びでよければ
ORDER BY RAND()

849:nobodyさん
09/11/08 09:04:36 H7unfEmK
>>848
うおおお、凄い! そんなのがあるんだ?
やっぱり聞いて良かったです。ありがとう!

850:nobodyさん
09/11/08 10:30:15 atd+IQXc
class test
{
public $v = "test";

public function display() {
return $this->$v;
}
}

$obj = new test;
echo $obj->display();

testと表示させたいのですが表示できません
PHP5.3です
どなたかご指導お願い致します

851:nobodyさん
09/11/08 10:39:14
>840
class Greeting{
const AT_MORNING = 'おっはー☆';
const AT_DAYTIME = 'こんにちは';
const AT_NIGHT = 'こんばんわー';
const FIRST_MESSAGE = '初めまして';
}
class Love{
const FIRST_MESSAGE = '好きです!';
const END_MESSAGE = 'さようなら…二度と会わないで';
}

echo Greeting::AT_MORNING;

例えば定数の場合、そこまでに通ったコードを全部読んで、定義部を探さないといけない。
クラス定数ならば、格納先のクラスさえ分かれば、そこを探すだけで済む。
勿論、「定数はこのファイルに全部書くこと!」という規則で運用しても同じような効果になるが、「立ち入り禁止」というルールだけ設けるのと柵を作るの、どっちが安全かの差だな。
また、Greeting::AT_MORNINGを読むにはGreetingクラスの存在を知らなければ(requireしなければ)ならない。
つまり、この定数を使っている箇所がどこら辺にあるのか特定しやすい。
あとは、全体から見える位置にものを定義すると、変数名被りや定数名被りが発生しやすい。クラス定数なら、クラスさえ違えば同名になっても問題ない。

852:nobodyさん
09/11/08 10:41:21
>>850
エラー出力見ようよ。たぶんこの場合ずばりのエラーが出てる。

return $this->$v;
の、vには$要らない。

853:nobodyさん
09/11/08 10:41:44
return $this->$v
だと そのクラス内($this)の変数$vが持ってる値の変数になっちゃう
return $this->v
がただしい

854:nobodyさん
09/11/08 10:45:24
ありがとうございます

>>852-853

855:nobodyさん
09/11/08 10:46:05 atd+IQXc
ミス

ありがとうございます
おかげ様で解決できました
>>852-853どうもありがとうございました

856:nobodyさん
09/11/08 10:55:19 R5NqdoKR
オブジェクト指向の覚え方についてどなたかご指導お願いします

ここ見て勉強してます
URLリンク(php.net)
目次
* はじめに
* クラスの基礎
* Properties
* オブジェクト定数
* クラスのオートローディング
* コンストラクタとデストラクタ
* アクセス権
* Object Inheritance
* スコープ定義演算子 (::)
* static キーワード
* クラスの抽象化
* オブジェクト インターフェイス
* オーバーロード
* オブジェクトのイタレーション
* パターン
* マジックメソッド
* finalキーワード
* オブジェクトのクローン作成
* オブジェクトの比較
* タイプヒンティング
* 遅延静的束縛 (Late Static Bindings)
* オブジェクトと参照
* Object Serialization


この目次を上から順番にやりたいのですがどこまでが基礎の部分でしょうか?

857:nobodyさん
09/11/08 11:46:29
スレを使ってデバッグするとはお主やるな

858:nobodyさん
09/11/08 11:47:34
>>855へのレスね


859:nobodyさん
09/11/08 11:58:07
857 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん
あぼ~ん

858 名前:あぼ~ん[あぼ~ん] 投稿日:あぼ~ん
あぼ~ん


860:nobodyさん
09/11/08 12:02:22
>856
staticまで知ってればとりあえず問題ない

861:nobodyさん
09/11/08 12:12:54
>>856
「オブジェクト指向の覚え方」(というか学び方)を知りたいんですね?

まずは、
とある言語が「オブジェクト指向的な記述を支援してくれる部分」と、
「オブジェクト指向というもの」自体とを
弁別した方が良いかと。

とある言語で後者を実践するときのものが前者。
そのページで得られるのは、基本的には前者のみ。

OOPそのものへの入門だったら、PHP以外の例えばJavaあたりを使ってOOPの
解説してるとこ覗いた方が良いよ。

それでもその質問に答えるとしたら、上から順番でどこまでってことは無いかな。
>* クラスのオートローディング
↑飛ばしてもいいけど、
>* コンストラクタとデストラクタ
↑飛ばせない
てな感じで。

862:nobodyさん
09/11/08 12:30:58
Javaが一通り出来るようになればオブジェクト指向はだいたい理解出来るはず
使いこなすにはまだまだだけど

863:nobodyさん
09/11/08 12:34:58
じゃヴぁじゃヴぁうるせえよks!

864:nobodyさん
09/11/08 12:41:45
>>862
理解できてるから使いこなせるわけで。 順序逆だz

865:nobodyさん
09/11/08 12:52:04
PHPみたいな変数に何でも入って、evalもあるような言語に
JavaのOOPを持ち込むのは、混乱の元だろう。
頭固くなるからやめとけ。
初心者はSqueakでもやっとけばいい。

866:nobodyさん
09/11/08 13:33:48 9EHY5xph
インスタンスってどういうときに使うんですか?

class SimpleClass{
public $var = 'a default value';
public function displayVar() {
echo $this->var;
}
}
$instance = new SimpleClass();
$className = 'Foo';
$instance = new $className();

ってマニュアルにサンプルが載ってますが
下から1~3行を
$obj= new SimpleClass();
で済ましたほうが楽だと思うのですがどうなんでしょうか
どなたかご教示お願いします

867:nobodyさん
09/11/08 13:36:52
済ますも何もSimpleClassではなく別クラスのFooのインスタンスを作ってるように見えるが

868:nobodyさん
09/11/08 13:41:42 9EHY5xph
すいませんこれです

URLリンク(www.php.net)
例3 インスタンスを作成する
<?php
$instance = new SimpleClass();

// 変数を使うこともできます
$className = 'Foo';
$instance = new $className(); // Foo()
?>



869:nobodyさん
09/11/08 13:46:05
インスタンスを生成したいクラスを動的に指定する場合に便利だよ
autoloadしたい時とかFactoryパターンの時とか

870:nobodyさん
09/11/08 13:48:04
new演算子の右辺に変数が使えるって例だな
可変変数の一種だ

871:nobodyさん
09/11/08 13:52:41
可変変数の一種などではなく可変関数
URLリンク(www.php.net)

872:nobodyさん
09/11/08 14:29:44
>>866
>$obj= new SimpleClass();

これだってインスタンスを作成してるわけだが・・・

873:nobodyさん
09/11/08 17:28:03
>>866
クラスってのはクッキー生地の型抜き用の型で、
インスタンスはそれで作られた個別のクッキー(生地)。

抜き型だけあってもそれを使わないと(newしないと)食えるクッキーの存在は生成されない。

てな感じでどうだ?

874:nobodyさん
09/11/08 17:52:29
>>873
スタティックメソッドは?

875:nobodyさん
09/11/08 17:55:43
最初に入れる具を決めて皮を作るか、とりあえず具は後で買ってくると決めて皮を作るかの違い

出来るものはどちらにしても肉まん・あんまん・中華まん。

876:nobodyさん
09/11/08 18:00:44
>868
変数$classNameの値に応じて、生成するインスタンスを変えられる。
class Foo{
function say_name(){
echo 'foo foo foo!';
}
}
class Bar{
function say_name(){
echo 'Bar, bar, BAAAAAR';
}
}

$instance = new $className();
$instance->say_name();

クラスに同じ名前同じ引数のメソッドがあり、その中身のロジックが全然違う場合なんかに使える。

877:nobodyさん
09/11/08 18:32:26 QzQ1Ze2q
class test{
 function test(){
  throw new Exception('test');
 }
}

try{
 $test = new test;
 $test->test();
}catch(Exception $e){
 echo $e->getMessage();
}

classからスローした例外って上みたいにキャッチできますか?

878:nobodyさん
09/11/08 18:59:39
なんで試さんの?

879:nobodyさん
09/11/08 19:13:09 QzQ1Ze2q
できた、役に立たない奴らだ

880:nobodyさん
09/11/08 20:10:53
次の方どーぞ。

881:nobodyさん
09/11/08 21:05:50 8S6RVioX
classを作っておくのは同じコードを2度も書かないためってことでしょうか?
掲示板を作るとき「ファイル操作・文字列処理」をしますのでそういうのをクラスにまとめることによtt
いろんなスクリプトで再利用できるという認識でよろしいでしょうか?

882:nobodyさん
09/11/08 22:33:56
再利用できるように作ってあれば。

883:nobodyさん
09/11/09 09:32:56 utcN5JBF
>>881
同じコードを2個書かなくていいのはfunction(関数化)
クラス化は、同じコードを書かなくていいだけでなく、そのときに必要な部分のみ使える感じ



884:nobodyさん
09/11/09 10:54:46
関数だと必要な部分のみ使えないの?

885:nobodyさん
09/11/09 10:57:53
オブジェクト指向のオの字も知らないようだと、クラスを作る意味はまるで無い

886:nobodyさん
09/11/09 11:09:38 utcN5JBF
クラスは何つーか、製作ツール作る感じじゃね?
RPGツクールとかそんな感じで
逆にfunctionなどの関数はそのまま関数作ったり
RPGツクールの中の、敵にダメージを与える計算部分とか

887:nobodyさん
09/11/09 11:12:00
クラスの目的は…
少なくとも出発点はデータの保護、というかデータに対して可能な操作の定義。>>881

つか、もうそれってPHPの質問と違うやん。
OOもしくはOOP一般じゃろ。

888:nobodyさん
09/11/10 00:04:02
学校にもAクラス、Bクラスってあるだろう。
それと同じ意味だよ。

A組 が 廊下掃除担当
B組 が 体育館掃除担当
C組 が プール掃除担当

という感じにクラス毎に役割を振っておけば、
後々管理が楽になるだろう?

「廊下に関する事なら、A組に聞けばいい。」

ってな具合で。

889:nobodyさん
09/11/10 00:22:25
関数とオブジェクトのローカル変数をセットにしておける。
継承が使える。

これだろ。

890:nobodyさん
09/11/10 00:28:25
無駄に難しく考えないで、自分のレベルで便利に使えるところから使えばいいんだよ。
クラスつかうなんてのは、手段であって、目的ではないからな。

891:nobodyさん
09/11/10 02:31:13
同じく、システムの中である程度一貫性持ってれば扱い方は人によって個性出てもいいと思う

892:nobodyさん
09/11/10 02:57:15
OOP本のサンプルって、
Animalクラスを継承してDogクラスとかCatクラスを作るって例が多いけど、
わかりやすいようで解りづらいよなw

893:nobodyさん
09/11/10 03:10:25
>>892
>Animalクラスを継承してDogクラスとかCatクラスを作るって例
この手の解説は参考にならないって、歴史が証明してるよなw

894:nobodyさん
09/11/10 03:44:55
最初は関数で作って、後々追加案件で処理毎にクラス化してる
配列でまとめてあると、後で弄り易い。

895:nobodyさん
09/11/10 05:31:53
それ、クラスである必要があるコードでなかったりしないか

896:nobodyさん
09/11/10 06:59:46
>>893
そういう概念の話は腐るほど聞いても、じゃあいざ実装しようとすると
あれどれがDogでAnimalなんだっけ、いやそもそもクラスにする必要あるのかこれ?
と思考の海に沈む

まっとうなOOP本読めばいいんだろうけど

897:nobodyさん
09/11/10 08:03:12 T58KxytE
同じような方向の質問になるけど
PEARとかでよくファクトリークラス(?)を使って
クラスからクラスを作ってたりするけど、
あれってどういう理由があるの?

898:nobodyさん
09/11/10 09:28:55
>>897
URLリンク(www.techscore.com)

899:nobodyさん
09/11/10 09:41:10 lbGcCYju
自分はフォームのパーツを生成する機能をまとめてクラスにしてるんだ
$fmPartsCrass->getUTypePD(10); //DBの登録値10をselectedとするユーザタイプのプルダウンを作る
$fmPartsCrass->uTypeToTXT(10); //フォームの確認画面で、選択値10のユーザタイプを出力する
クラス内のinit()ではプルダウン元になるname,valueの二次元配列を沢山読み込ませてる感じ。
こんなので良いのかな? クラスの使い方って。。

900:nobodyさん
09/11/10 09:56:23
俺の好みで言うと、コーディング時に種類が決まってるパーツは
new classNameで明示的にインスタンス化したいな。
パラメータ指定してインスタンス作ってからaddとかするように
書くだろうな。
ま、好みの話だからさらっと流してくれ。

901:nobodyさん
09/11/10 09:57:06
今気づいたがクラスはCrassじゃなくてClassだなw
アホすぎワロタ

902:nobodyさん
09/11/10 10:04:28
>>895
関数にすると値渡しが面倒なんだわ
特にお金関係は。

903:nobodyさん
09/11/10 10:25:02
>>895は「最初は関数で作って」おけるような物なら、
クラス化する必要なくね?って事だと思う。

俺はそうは思わないけど。

904:nobodyさん
09/11/10 10:51:32
ちょっとでも楽になるか、それともクラスにする手間を惜しむか、
必要があるかどうかは結局その人の感覚次第でしょ

905:nobodyさん
09/11/10 11:05:09
どっちが楽かも人によるしね。
でも、殆どの人にとって、クラス化は最初は楽じゃないんだよね。
だから壁を越えようとしない人も多いんだろう。

壁を越えた向こうには、素敵な楽園が広がって・・・ るわけでもないし。
待ってるのは次の壁と、無間壁越え地獄w

906:899
09/11/10 11:50:11
上で書いた例ってヘンですか?
自分じゃ間違ってないだろって気持ちと、これはfunctionを束ねただけのものじゃないかって
気持ちが半分半分です。
バラしたら関数として独立化できるものはclassにする必要ないのかななんて考えると
全部そうだろうという気持ちがでてくるし…

907:nobodyさん
09/11/10 11:57:28
>>906
functionを束ねただけのものですね

908:nobodyさん
09/11/10 11:58:15
変数名にCl(r)assの文字がある時点でおかしいと思うべきだな

909:nobodyさん
09/11/10 12:01:22
>>906
汎用性を持たせればいいんじゃね?
リスト意外にもラジオボタンや複数選択でも出力、クラス指定で見た目も変えれるとか

910:nobodyさん
09/11/10 12:03:13 HgEfIoEe
くだらない質問ですがよろしくお願いします。
ソースを見ていたら
<?= $test ?> という書き方をしている箇所を見つけました。
コードを書くときは<?php ?>で囲うと本には書いてありましたが
<?php print($test) ?> と、どう違うのでしょうか。
あまり見かけないということは何か問題のある記述方ですか?

911:nobodyさん
09/11/10 12:03:50
だから自分の基準は
 「素材があって、料理する方法が複数ある場合」
はクラスにするようにしてる

912:nobodyさん
09/11/10 12:11:36
>バラしたら関数として独立化できるものはclassにする必要ないのかな

これはその通り。ただ、

>全部そうだろうという気持ちがでてくるし…

こっちは、クラス使える言語でなら、そういうのはやめた方がいいぞ。
データってもんを無視すれば全部そうできるかもしれんけど。

「関数/手続きに(引数等で)データを渡す」だけで考えても一応全てのプログラムは書けるよ、確かに。
昔はそればっかだったし。


913:nobodyさん
09/11/10 12:20:07
>>910
マニュアル嫁

914:nobodyさん
09/11/10 12:24:15
>>910
前者はそろそろ問題になってきてる。

915:nobodyさん
09/11/10 12:36:32
別にクラスを 関数をひとくくりにするためだけに使ってもいいんだよ。

916:nobodyさん
09/11/10 13:07:19 n4Nrgy6L
class Oyabun{function buki(){echo "マシンガン";}}
class Kobun extends Oyabun{function buki(){echo "ピストル";}}
class zako extends Kobun{function buki(){echo "鉄パイプ";}}

クラスKobunからクラスOyabunのメソットbukiを呼び出してマシンガンって表示させることはできましたが
クラスzakoからクラスOyabunのbukiを呼び出してマシンガンと表示させる書き方がわかりません
直接クラスOyabunで呼ぶ出すのではなくzakoから呼び出す方法をどなたかご指導お願い致します

917:899
09/11/10 13:11:58
皆さんどうもありがとう
>>915
そうなんですか? そうだとしたら安心(?)しました
何度も同じコード書きたくなくて関数化してまとめてみようと思ったのがきっかけでした
クラスの継承とかpublic指定した変数の外部から参照とかしないんで、
複数の関数で使う変数の値やDB接続処理をinit()内部で定義すればいっぺんに書き換えられる、
まとめていつでも呼び出せる以上の利便性なんて感じないんですよね。それで十分だし。
何か損してるのかな。。

918:nobodyさん
09/11/10 13:16:16
言外の意図を読み取れないのかきみは

919:nobodyさん
09/11/10 13:37:25
>>916
なんか妙な継承だと思うんだな。子分は親分か?

>クラスzakoからクラスOyabunのbukiを呼び出してマシンガンと表示させる書き方がわかりません
雑魚が親分を使役するのか?

実はPHPはよく知らないが、
 Oyabun::buki();
で呼び出せない?


でもなぁ…
interface Kouseiin {
 public function buki();
 public function setOyabun($oya);
}
class Oyabun implements Kouseiin{略}
class Zako implements Kouseiin{
 private $oyabun;

 public function tasuketeOyabin(){
  $this->oyabun->buki();
 }
}

$chimpira = new Zako();
$chimpira->buki();
$chimpira->tasuketeOyabin();


920:nobodyさん
09/11/10 16:32:26 k/b4LSiu
よろしくお願いします。

function &set() {
     ↑このアンドマークの意味を教えてください。

921:nobodyさん
09/11/10 16:45:26
記述ミス

922:nobodyさん
09/11/10 18:02:30 hMuYWgxi
PDO::ATTR_PERSISTENT=>true として PDO::prepare を使った場合、prepare ステートメントは接続が維持されている限りキャッシュされていて、前回のキャッシュをphpが勝手に使ってくれるという動作をするのでしょうか?
DBサーバーはpostgresqlです

923:nobodyさん
09/11/10 19:01:07
>>922
PDOStatementのデストラクタで毎回削除してしまうようだね

ext/pdo_pgsql/pgsql_statement.c
> static int pgsql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)
> {
...
> #if HAVE_PQPREPARE
...
> if (S->is_prepared) {
> spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name);
> res = PQexec(H->server, q);

924:nobodyさん
09/11/10 19:03:05
>>920
URLリンク(www.php.net)

925:nobodyさん
09/11/10 20:40:43 k/b4LSiu
>>924
ありがとうございます。
こちらで質問して良かったです。

926:nobodyさん
09/11/10 21:11:57 Yr8QXJQk
>>923
ありがとうございます
しかし劇的に軽量化が出来ないかと思いましたが残念です
pgsqlで関数として定義にしておけば計量化したりしないものだろうか…

927:nobodyさん
09/11/10 21:28:36
君のシステムはDBの接続が継続してたら軽量化するの?

928:nobodyさん
09/11/10 21:31:00 Yr8QXJQk
そうですね、view使えばいいんですね。
ちゃんと勉強しましょう…。

929:nobodyさん
09/11/10 23:50:57 efP4W3lX
GoogleのようなAND検索を実装しようとしています。

以下のように空白で区切ろうと考えています
preg_split('/\p{Z}+/', $query);

単純な区切りでは問題ないのですが、
test aaaa => array('test', 'aaaa');

以下のように一単語として検索したい場合の正規表現が分かりません。
"test aaaa" test => array('test aaaa', 'test');

分かる方お願いします。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch