1 名前:nobodyさん mailto:sage [2012/01/02(月) 02:03:25.50 ID:???] 質問者はまず>>1 を良く読むこと(必須!) 過去スレ、関連スレ、FAQなどは>>2-10 辺り 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 113 kohada.2ch.net/test/read.cgi/php/1322564127/ ◆質問用テンプレ 【OS名】CentOS 【PHPのバージョン】5.3 【連携ソフトウェア】MySQL ImageMagick 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
243 名前:nobodyさん mailto:sage [2012/01/05(木) 12:05:52.58 ID:???] >>230 それはC/C++ソースをコンパイル時にアセンブラ出力して書き換えるようなもの。 無駄をなくすとすれば機械語、アセンブラにたどり着く。 しかし開発効率からそのあたりには手を出さず、PHPやC/C++のコードの範囲でできる事をした方が良い。
244 名前:nobodyさん mailto:sage [2012/01/05(木) 12:15:28.46 ID:???] いま荒らしてる人ってMatzを「まともと」「まともと」って言ってた人か Matzも知らないから素人なんだろうと思ってたけど納得だわ>>218 facebook級のサイトのを運営してるSEというなりきり設定がワロタ PHPの高速化に HipHop vs APC てのがあるみたいだけど 現時点でほとんど性能は変わらないようだし安定性の面でAPCに軍配が上がるのかな。 サクッと作って高速で動かすという技術はPHPが先を行ってる感じ blog.candycane.jp/archives/491 dsas.blog.klab.org/archives/51978647.html
245 名前:nobodyさん mailto:sage [2012/01/05(木) 12:28:51.85 ID:???] HIPHOPの実行ファイルはPHP上で動くんじゃないだろ。 どれだけPHPが高速化できたとしても、リソースの少なさ、速度の速さではネイティブ実行形式が上だろ。
246 名前:nobodyさん [2012/01/05(木) 12:43:16.59 ID:WqkweKyi] 結局のところ、アプリケーションスコープの代替ってみなさんどうされています?
247 名前:nobodyさん mailto:sage [2012/01/05(木) 12:50:18.95 ID:???] ニートが目覚めたな
248 名前:nobodyさん mailto:sage [2012/01/05(木) 12:52:26.30 ID:???] いい歳して可哀想なもんやで
249 名前:nobodyさん mailto:sage [2012/01/05(木) 12:57:19.29 ID:???] Javaで挫折したニートのオッサンだろう シングルトン・マルチスレッド・アプリケーションスコープ、全部理解してないからな
250 名前:nobodyさん mailto:sage [2012/01/05(木) 13:02:42.94 ID:???] まぁプログラマーはここにいるおっさんのように池沼になるリスクをはらんでるよな 精神病むには最適な職種と言える
251 名前:nobodyさん [2012/01/05(木) 14:48:43.61 ID:r8xFdMd/] 配列のキー指定で $ary[expr1 ? expr2 : expr3]ってしたとき expr3の結果を$ary[]にする方法ってないよね ちなみにnullや''は空文字列で[]とは違う
252 名前:nobodyさん [2012/01/05(木) 14:56:30.73 ID:FPSYlk7p] あるソースを読んでいる中で class SQLというのがありまして function getRecord($limit = NULL, $offset = 0) { if ($limit) return array_slice($this->record, $offset, $limit); else return $this->record; } というファンクションがあったんですが、 $this->record;のrecordが何を指しているかがわかりません。 recordてもともとPHPに用意されているファンクションなんでしょうか?
253 名前:nobodyさん mailto:sage [2012/01/05(木) 14:57:37.19 ID:???] だれか翻訳頼む
254 名前:nobodyさん mailto:sage [2012/01/05(木) 14:58:56.94 ID:???] class SQLのメンバ
255 名前:nobodyさん mailto:sage [2012/01/05(木) 15:09:18.10 ID:???] $this->の時点で気付こうよ
256 名前:nobodyさん mailto:sage [2012/01/05(木) 15:09:19.83 ID:???] 一回PHPのクラスで何が出来るか勉強してくるべき
257 名前:nobodyさん mailto:sage [2012/01/05(木) 15:20:05.60 ID:???] クラスを知らないか、理解していない人の相談なんです。
258 名前:nobodyさん [2012/01/05(木) 15:22:06.79 ID:FPSYlk7p] すみません。クラスをちゃんと理解していませんでした class SQLの中にrecordというファンクションがなかったので もともと用意されている何かだとおもったのですが ググってもでてこなかったので聞いてみました。 まだよくわかっていないのでちょっとクラスについて調べてきます
259 名前:nobodyさん [2012/01/05(木) 15:25:35.51 ID:yQXwn+vl] DBを使ったサービス作るんだけど、 DB操作しやすいライブラリとかでおすすめないかな? プログラム自体は大したことないのに、 テーブルやらカラムやらを大量に作らなきゃいけない予定なんで、 SQLで書くのめんどくさいから、 ソースコードだけで片付くものを探してるとこなんだけど
260 名前:nobodyさん mailto:sage [2012/01/05(木) 15:26:13.26 ID:???] もっと頭を柔らかくしようよ $this->recordが必ずしもファンクションとは限らないのにファンクションと決めつけてるだろ そんなことだといつまでも謎のままだぞ >if ($limit) return array_slice($this->record, $offset, $limit); これ見たらあー配列なんだなってわかるし つーことは、名前からしても$this->recordにはどこかでSELECTの結果かなにかを配列としてセットしてるメンバだとわかるだろう
261 名前:nobodyさん mailto:sage [2012/01/05(木) 15:26:51.23 ID:???] >>258 recordというデータメンバもないですか。 親クラスがあればそちらにも
262 名前:252 [2012/01/05(木) 15:29:33.28 ID:FPSYlk7p] class SQL { private $count = 0; private $host = "localhost"; private $error = null; protected $link = null; protected $record = null; function connect() { $this->link = mysql_connect($this->host, "???", "?????"); if (!$this->link) return false; if (!mysql_select_db('recnomi', $this->link)) return false; return true; } function disconnect() { mysql_close($this->link); } function getRecord($limit = NULL, $offset = 0) { if ($limit) return array_slice($this->record, $offset, $limit); else return $this->record; }
263 名前:nobodyさん mailto:sage [2012/01/05(木) 15:30:55.18 ID:???] >>259 そーゆーことならフレームワークのスレへ ただSQL書かないで最適なクエリを発行することはまず無理だと思う DB抽象化ライブラリがインデックスまで把握して最適なクエリを発行してくれるものがあればオレも欲しい
264 名前:252 [2012/01/05(木) 15:31:28.29 ID:FPSYlk7p] ソースは262なんですけど 5行目のprotected $record = null で定義しているからしたで使えているということなんですか?;
265 名前:nobodyさん mailto:sage [2012/01/05(木) 15:31:53.77 ID:???] >>262 >protected $record = null; メンバとして定義されてるじゃん
266 名前:nobodyさん mailto:sage [2012/01/05(木) 15:33:04.94 ID:???] >>264 まぁいい とりあえずクラスってなぁに?どう使えてどう動くの?ってことを30日間勉強して
267 名前:252 [2012/01/05(木) 15:35:46.96 ID:FPSYlk7p] そうですか。。。 $this->recordでrecordに$がついてなかったので ファンクションだと思ってました。。 勉強してきます
268 名前:nobodyさん mailto:sage [2012/01/05(木) 15:36:05.47 ID:???] >>263 了解 おもしろそうだから、一回自作できるか挑戦して、それでもダメだったらどこかのFW探してみます
269 名前:nobodyさん mailto:sage [2012/01/05(木) 15:38:38.34 ID:???] >>268 使う機能だけを関数化すればよい。 SQLはコマンドラインでも動作する。難しければそこからやってみてそのあとPHPにするというのもある。
270 名前:nobodyさん mailto:sage [2012/01/05(木) 15:44:23.54 ID:???] >>269 何言ってるのこのひと すごく的外れ
271 名前:252 [2012/01/05(木) 15:45:28.44 ID:FPSYlk7p] すみません。最後に一個ききたいんですが 5行目のprotected $record = nullでは配列が入っていないとおもうんですが recordには配列はどうやって入れているのでしょうか?
272 名前:nobodyさん mailto:sage [2012/01/05(木) 15:50:04.64 ID:???] $this->recordやrecordでソースを検索したら代入しているところが出てくる。
273 名前:262 [2012/01/05(木) 15:51:51.85 ID:FPSYlk7p] ありがとうございます。もう一度調べてみます
274 名前:nobodyさん mailto:sage [2012/01/05(木) 16:09:56.66 ID:???] $this->$recordと記述してしまうと、 $recordという変数を探して、 名無しの変数なんてねえよ。とわめいたり、 素知らぬ顔で空データ返してくれるPHPを見てると ちょっと萌えるよね。 こんな技法滅多に使わないけど。
275 名前:nobodyさん mailto:sage [2012/01/05(木) 16:19:40.25 ID:???] 自分でフレームワークライクなもの書いたりする場合によく使うよ /hoge/fugaというアクセスはclass hogeのfugaメソッドを実行とかね どんな名前でアクセスしてくるかわからないものを一箇所で処理しようと思ったら便利でしょ
276 名前:nobodyさん mailto:sage [2012/01/05(木) 16:26:11.82 ID:???] つか、>>262 のクラスひどくね?w >if ($limit) return array_slice($this->record, $offset, $limit); クエリ発行時点でoffsetとlimitつけとけよ… これごっそりレコード取って後から切り出してるだろ とりあえずこんなクソコード捨てちまえ
277 名前:nobodyさん mailto:sage [2012/01/05(木) 19:28:56.82 ID:???] >>267 ファンションを呼び出すなら$this->record()って書くだろうよ
278 名前:nobodyさん [2012/01/05(木) 19:29:38.66 ID:m/6w1Eth] mysql_queryに、複数のクエリを;で区切って実行したところ、エラーになりました そこでクエリごとに分けて別々に発行すればOKでした。 phpMyAdminでは;で区切ったクエリを実行できるのですが、 これはphpMyAdmin側で複数のクエリに分割して実行しているのでしょうか? それともこちらのプログラムミスでしょうか?
279 名前:nobodyさん mailto:sage [2012/01/05(木) 19:31:31.15 ID:???] プログラムミス
280 名前:nobodyさん mailto:sage [2012/01/05(木) 19:40:52.08 ID:???] >>278 今どきただのmysql使うなんて時代後れすぎですね mysqliを積極的に使いなさい そして○○_query系でsqlを実行するのは今すぐやめましょう これからは○○_prepareを使いましょう queryでsql実行してたら業務でやってる人たちに笑われますよ
281 名前:nobodyさん mailto:sage [2012/01/05(木) 19:43:07.94 ID:???] とりあえずマニュアル嫁 www.php.net/manual/ja/function.mysql-query.php mysql_query() は、 ひとつのクエリを送信します (複数クエリの送信はサポートしません)。
282 名前:nobodyさん mailto:sage [2012/01/05(木) 19:45:35.06 ID:???] >>279 適当にいうな >>280 ありがとうございます >>281 クエリのパースってmysql側でやるものだと思ってたのですが そういうものなのですか ありがとうございました
283 名前:nobodyさん mailto:sage [2012/01/05(木) 19:46:47.22 ID:???] >>280 の言うようにmysqliのほうが速いしなにかと捗るぞ mysqliのmulti_queryはマルチクエリ実行できるよ ただ得意気に >そして○○_query系でsqlを実行するのは今すぐやめましょう >これからは○○_prepareを使いましょう とか言ってると笑われるから注意な すべてケースによるから自分で最適なコーディングを探すこと エスケープやアプリに合わせたサニタイズも考えながらやって
284 名前:nobodyさん mailto:sage [2012/01/05(木) 19:47:41.25 ID:???] 適当だったが、Sqlite3、PDOの関数では複数行の一括処理できるが。 Sqlite2の古い関数使うからダメなんだ。
285 名前:nobodyさん mailto:sage [2012/01/05(木) 19:50:55.00 ID:???] >>284 何言ってるのこのひと SQLite関係ないでしょ PDOの話もしてないし
286 名前:nobodyさん mailto:sage [2012/01/05(木) 19:53:46.88 ID:???] ○○_prepareはわずかに速くなるだろうが大差ない。 ボトルネックでないだったら直に送信した方がソースは短くて済む。 決定的な差になるのはトランザクション指定。
287 名前:nobodyさん mailto:sage [2012/01/05(木) 19:54:50.31 ID:???] ほんとだ。データベースは主にSqliteを使うからそれだけの様な気になってた。
288 名前:nobodyさん mailto:sage [2012/01/05(木) 19:55:28.06 ID:???] ↑ バカだwwwwwwwwwwww prepare使うのは速度のためじゃねえよwwwwwwwwwwwww
289 名前:nobodyさん mailto:sage [2012/01/05(木) 19:58:19.19 ID:???] だからケースによるだろう そもそもprepareは速く実行するためのものじゃねーし エスケープを機械的にほぼ保証してくれるから使えるところでは極力使うべき おまえ>>269 ,>>284 だろ ずっと明後日の方向見ながらレスしてるぞ 知ったかぶりにも程があるぞ
290 名前:nobodyさん [2012/01/05(木) 21:07:49.16 ID:m/6w1Eth] mysqliについて調べ始めました 二種類のモードのうちMYSQLI_USE_RESULT というのが、従来のmysqによる結果セットと同じなのかなと思うのですが php.net/manual/ja/mysqli.use-result.php クライアント側で 大量の処理を行う際は、mysqli_use_result() を 使用すべきではありません。 なぜなら、この関数はサーバとの接続を保持 し続け、取得しているデータに関連するテーブルについて、 他のスレッドから 更新ができなくなるからです。 と書いてありました。 これは接続が保持されている間はテーブルがロックされるということでしょうか? 結果セットはテーブルとは別の領域に作成されるのだから奇妙な処理に思えますが どういうことなのでしょう 今までのmysql関数でも、接続が保持されている間はテーブルがロックされていたのでしょうか?
291 名前:nobodyさん mailto:sage [2012/01/05(木) 21:17:34.84 ID:???] >>290 これ >バッファに取得しないで結果オブジェクトを返します。 エラー時には FALSE を返します。 バッファに取得しないってことはなんらかの方法で現状をキープする必要があるでしょ テーブルロックしてるかどうかしらんけど、してる可能性は高いよ だからバッファリングしてから使うべき(このメソッドはあまり使うべきではない)ってことになるんじゃね
292 名前:nobodyさん mailto:sage [2012/01/05(木) 21:19:13.82 ID:???] PHPのお馴染み特定厨さん降臨キタ−ーーーーーーー!
293 名前:nobodyさん mailto:sage [2012/01/05(木) 21:29:46.87 ID:???] >>290 ちなみに >二種類のモードのうちMYSQLI_USE_RESULT >というのが、従来のmysqによる結果セットと同じなのかなと思うのですが こういう変な固定概念的なものは取り払って素直にゼロから学習しなさいな じゃないと自分の思うようにいかないことばかりでイライラすることになるよ 一応mysqliでSELECTを投げる場合の標準的な手順だけ 1. プリペアドステートメントセット 2. クエリ実行 3. 結果オブジェクト取得 4. オブジェクトから結果(レコード)取得 概ねこんな感じ
294 名前:nobodyさん mailto:sage [2012/01/05(木) 21:32:31.52 ID:???] >>291 データ取得している間中ロックするとか なんかありえない処理に思えるのですが・・・ 同時に一人しか同一テーブルを読めないってことでしょう いやありえない mysqliがおかしいのか 今までも実はそうだったのか・・・
295 名前:nobodyさん mailto:sage [2012/01/05(木) 21:35:54.28 ID:???] >>294 >>293 読んでね で、他にメソッド色々あるでしょ?マニュアル熟読してみてよ しかも読めないとは書いてないじゃん、更新できないとは書いてあるけど イロイロと勝手にわかったフリするのは学習の妨げになるよ
296 名前:nobodyさん mailto:sage [2012/01/05(木) 21:43:24.56 ID:???] >>293 プリペアドステートメントを使う以外は従来と同じですね あまり気にせず、 データが巨大な場合はmysqli_store_result そうでない場合はmysqli_use_result を使っておけばいいのかなぁ
297 名前:nobodyさん mailto:sage [2012/01/05(木) 21:52:18.06 ID:???] >>291 を理解できるまで何回か読んで考えてみたら バッファリングせずにデータを読みたい場合とバッファリングしてからデータを扱いたい場合で変わってくるでしょう 前者はクエリを投げた時の状態を固定したままにしておきたいような場合に使えるでしょう 後者は別にデータ取得直後に変更が加えられても問題ない場合に使える 通常どちらを使えば良いかは考えなくてもわかるよね >データが巨大な場合はmysqli_store_result >そうでない場合はmysqli_use_result どうしてこういう考えに至ったのかオレにはわからんけど、マニュアルの読解力もしくは理解できるまで辛抱強く読む努力が必要だと思うよ なんとなくわかった気になるのが一番マズイ
298 名前:nobodyさん mailto:sage [2012/01/05(木) 22:42:32.96 ID:???] …prepareは本来パフォーマンスをあげるためのものだよ。 何でもかんでも使えばいいってもんでもないけど。
299 名前:nobodyさん mailto:sage [2012/01/05(木) 22:48:03.29 ID:???] >>286 と>>298 は同一じゃん おまえわかりやすくていいけどいい加減うぜーよ しかもおまえ上で暴れてたニートのおっさんじゃん
300 名前:298 mailto:sage [2012/01/05(木) 22:51:18.40 ID:???] >>299 証明ができなくてすまんが、おっさんにレスをしてた>>202 とか>>232 は俺ね。
301 名前:nobodyさん mailto:sage [2012/01/05(木) 22:54:20.43 ID:???] >>299 って同一認定レスしかしてないんだろうか
302 名前:nobodyさん mailto:sage [2012/01/05(木) 23:00:39.07 ID:???] 「PHPでは出来ないのですね、言語を切り替えます」が口癖のニートおっさんはネタさがし中じゃない?
303 名前:nobodyさん mailto:sage [2012/01/05(木) 23:10:21.50 ID:???] 釣れる魚がいる間しか釣りをしないんだろう。 そういう意味ではおっさんの方が釣られる魚(>>289 とか)より賢い。
304 名前:nobodyさん mailto:sage [2012/01/05(木) 23:17:52.42 ID:???] >>303 だから気づけよおっさんwww わかりやすすぎだろw
305 名前:nobodyさん mailto:sage [2012/01/05(木) 23:18:41.31 ID:???] >>297 むしろあなたの方がだいぶ頓珍漢なこと言ってると思うけど・・
306 名前:nobodyさん mailto:sage [2012/01/05(木) 23:19:45.77 ID:???] >>304 まさかの句読点マスター?
307 名前:nobodyさん mailto:sage [2012/01/05(木) 23:21:33.78 ID:???] 知っているのか雷電
308 名前:nobodyさん mailto:sage [2012/01/05(木) 23:22:45.03 ID:???] 釣りってのは能力の高い人間にしか出来ないわけで、ニートおっさんがやってるのは自爆ショー 常人だったら死にたくなるレベルの赤っ恥でも、それに気付く能力が無いので無敵とも言える
309 名前:nobodyさん mailto:sage [2012/01/05(木) 23:25:35.71 ID:???] エスケープを保証してくれるって言っても 自分でdbクラス書く時はもともとそういう風に書くし、 mysqliって言うほど良くなくね 明確なメリットが見えてこない
310 名前:nobodyさん [2012/01/05(木) 23:26:02.65 ID:YvCiXMC9] しかしこのスレはよく釣れるなあ!
311 名前:nobodyさん [2012/01/05(木) 23:28:08.68 ID:YvCiXMC9] >>232
312 名前:nobodyさん mailto:sage [2012/01/05(木) 23:33:10.88 ID:???] >>309 だから主目的はパフォーマンスにあるんだって。
313 名前:nobodyさん mailto:sage [2012/01/05(木) 23:37:21.48 ID:???] mysqli_stmt::bind_param 注意: データのサイズがパケットサイズの最大値(max_allowed_packet)を こえた場合、types に b を 指定して mysqli_stmt_send_long_data() を使用し、 データをパケットに分割して送信する必要があります。 とか。 これ便利になってなくね 変な制限があちこちに加わってるんだけど。 本当にいいものなのかこれは?
314 名前:nobodyさん mailto:sage [2012/01/05(木) 23:44:12.21 ID:???] プリペアドステートメントで得られるパフォーマンスメリットって 「同じプロセスの中でほぼ同じクエリを何度も発行する場合」だけでしょ? そんな処理がほとんどないと思う
315 名前:nobodyさん mailto:sage [2012/01/05(木) 23:45:29.12 ID:???] mysql_queryなんてつかわねえからwwwwwwwwwwwwww だからRubyやPythonにPHPはなめられるんだってwwwwwwwwwwwwwwwwwwwww まあ止めはしねえよwwwwwwwwwwwwwwww 恥かくのはおめえらだからしらねwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
316 名前:nobodyさん mailto:sage [2012/01/05(木) 23:55:28.29 ID:???] >>314 ないところにニーズは生まれない
317 名前:nobodyさん mailto:sage [2012/01/05(木) 23:57:16.33 ID:???] >>292 == >>315
318 名前:nobodyさん mailto:sage [2012/01/06(金) 00:01:59.06 ID:???] >>316 phpの場合そうでもないからなぁ クソ実装が単にみんなに使われているからという理由で使われたりする
319 名前:nobodyさん mailto:sage [2012/01/06(金) 00:33:30.11 ID:???] それはお前が低レベルなだけだろ
320 名前:nobodyさん mailto:sage [2012/01/06(金) 00:34:16.78 ID:???] いやいやw それはない
321 名前:nobodyさん [2012/01/06(金) 01:17:56.10 ID:egPD7RrR] dbに関連しての質問ですが、 コネクションプーリングはどうやればいいのですか?
322 名前:nobodyさん mailto:sage [2012/01/06(金) 01:19:48.56 ID:???] php関係ないw
323 名前:nobodyさん [2012/01/06(金) 10:58:36.82 ID:9fGZTwoM] 勉強してはや半年。やっとPHPの基礎がわかってきた感じで 掲示板くらいならつくれるようになったんですが、もっと腕を上げたいです。 なにかいい勉強法はありませんか? 書店に並んでいるのはどれも入門書ばかりで物足りないです。 コードリーディングというのがいいらしいですが、おすすめはありますか?
324 名前:nobodyさん mailto:sage [2012/01/06(金) 11:18:14.02 ID:???] >>323 フレームワークで同じものが作れるようにする
325 名前:nobodyさん mailto:sage [2012/01/06(金) 11:20:45.87 ID:???] フレームワークより直の関数呼び出しの方が省メモリ・高速だしできるだけ使わない方が良い。 使った方が簡単で生産性がいいなら使っても良い。 アセンブラよりC/C++を使うようなものだ。
326 名前:nobodyさん mailto:sage [2012/01/06(金) 11:23:14.96 ID:???] >>323 それくらい慣れたと思ってる人を対象にした本って、 セキュリティメインに書いてる本くらい。 勿論読んでおくべきだけど、 他人のコードを解析するのが一番の勉強になる。 ZendFramework なんかは他のフレームワークと違って分解されることを前提としてるし、OOPな構造なんで、 解析もしやすいし、勉強にもなる。 ちいたんみたいな小さいフレームワークを解析するってのも、解析しやすいし、ためになる技法が結構集まる。
327 名前:nobodyさん mailto:sage [2012/01/06(金) 11:43:21.25 ID:???] >>325 趣味とか一人で制作するのならそれでいいよ
328 名前:326 mailto:sage [2012/01/06(金) 11:45:07.14 ID:???] 自作フレームワークちっくを作るのもおすすめ。 いままで作った関数とかから、応用性があるものを探し出して、 さらに実用的になるように修正して、プロジェクトに追加する。 ちょこっとそれで簡単なシステムを作って、 命名規則やディレクトリ位置などを確定させる。 フレームワークちっくの設定を定義するファイルも作って、細かい設定を変更できるようにする。 で、これとそれとあれを丸まんまコピーして、設定少し合わせれば、 別のサーバーで1からシステム作るのが楽になるぞ。 みたいなプロジェクトを作るのが目標。
329 名前:nobodyさん [2012/01/06(金) 11:54:44.26 ID:DYaNhYpb] 質問です。クラスのメンバと、クラスの変数を同一視させる方法ありますか。 $queue = new QUE; $queue->push(1,2,3); $x = $queue->pop(); print_r($x); print_r($queue); ←ここで{2,3}を表示させたい。 class QUE { protected $queue = array(); function pop() { return array_shift ( $this->queue ); } function push($x) { array_push( $this->queue , $x); } }
330 名前:nobodyさん mailto:sage [2012/01/06(金) 12:00:31.39 ID:???] >>329 __toString() マジックメソッド php5.2以上
331 名前:nobodyさん [2012/01/06(金) 12:00:33.66 ID:9fGZTwoM] >>325 ゆるゆるなCodeIgniterでならつくれます。 他のフレームワークも勉強してみます。 >>326 入門書かフレームワークの解説書かセキュリティの本という感じで 入門書クリアしたレベルの人の為の本が全くと言っていいほどないですよねorz ちいたんなんて初めて知りました! これを読んで勉強してみようと思います。 >>328 なるほど。フレームワーク自作って面白そうですね。 やってみます。 ありがとうございます!
332 名前:nobodyさん mailto:sage [2012/01/06(金) 12:01:12.09 ID:???] >>329 そのまえにクラスの初歩を勉強しようや
333 名前:nobodyさん [2012/01/06(金) 12:01:36.19 ID:9fGZTwoM] >>331 × >>325 ○ >>324 失礼しましたorz
334 名前:nobodyさん [2012/01/06(金) 12:24:59.33 ID:DYaNhYpb] >>330 サンクス。このようにできました。 $queue = new QUE; $queue->push(1,2,3); $queue->push(5); $x = $queue->pop(); print_r($queue); class QUE { public $queue = array(); function pop() { return array_shift ( $this->queue ); } function push() { $arr =func_get_args(); foreach($arr as &$x) $this->queue[]=$x; } function __invoke() { return $this->queue; } }
335 名前:nobodyさん [2012/01/06(金) 12:26:53.87 ID:ZICr1WBy] WebPG歴半年の新米です。PG35歳説なんてむかしからありますが、 WebPGて横に幅広い知識が必要だと思いますし、立派な技術職だと思います。 PHPの熟練者(例えばこのスレの回答者の方々)って職にこまらないですか?
336 名前:nobodyさん mailto:sage [2012/01/06(金) 12:30:42.42 ID:???] 俺は困ってないが、そんな個人的なこと聞いてどうする。
337 名前:nobodyさん [2012/01/06(金) 12:33:55.87 ID:ZICr1WBy] まだ未熟で先が見えないので自分のキャリアプランに不安を感じていまして。 webPGのキャリアモデルて調べてもあまり出てこない(業界の歴史が浅いから当然ですが) ので聞いてみました
338 名前:334 [2012/01/06(金) 12:36:08.09 ID:DYaNhYpb] 334は、print_r($queue); ⇒ print_r($queue());でした。
339 名前:nobodyさん mailto:sage [2012/01/06(金) 12:49:15.17 ID:???] >>337 言語なんて必要に応じて使えなきゃ、先はないかもね。
340 名前:nobodyさん mailto:sage [2012/01/06(金) 13:03:15.39 ID:???] 最近、知恵袋から出張にきてるボンクラ質問者と回答者が居座ってるね
341 名前:nobodyさん mailto:sage [2012/01/06(金) 13:05:07.19 ID:???] web系は古いものに固執しなきゃどうにでもなる。 モバゲーもスマホもSNSも結局大成功したじゃない。 で、そういうのに売れない時代から付き合ってたやつも、相当な利益出してるはずなんだ。 そういうこと。
342 名前:nobodyさん mailto:sage [2012/01/06(金) 13:12:27.05 ID:???] それは経営者の判断で雇われプログラマには関係ない。
343 名前:nobodyさん mailto:sage [2012/01/06(金) 13:34:29.26 ID:???] プログラマなんて40,50になって出来る職業じゃないんだからさっさと自分で稼げる形を作るのが普通 先なんてどうなるかわかりきってることだし それをやらずに人生折り返し地点まできちゃった人はざまぁとしか言いようがない 諦めて吊るか別の仕事で細々とやっていくしかないでしょ