【PHP】下らねぇ質問はID出して書き込みやがれ 118
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/04/24(火) 01:29:22.24ID:yStuoiA/過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 117
http://kohada.2ch.net/test/read.cgi/php/1332346244/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 他言語について言及しないこと(特にJavaは禁句)。PHPオンリーの回答者が不快になります。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0653nobodyさん
2012/05/11(金) 04:05:32.33ID:???0654nobodyさん
2012/05/11(金) 05:36:38.73ID:???サーバ側では保持してないよ
amazonの場合は個人の欲しいものリストとして管理するから
ああいうのはDBだな
0655nobodyさん
2012/05/11(金) 06:21:32.62ID:TEIyqVKGSession情報を取得できない。
処理のかかるPHP処理1とその処理中の状況をSessionで取得するPHP処理2がある。
初回の処理では値を取得することができないが、セッションが生きてるうちに2回目の処理を行うと意図した結果になる。
[環境]
Google Chrome + WindowsXP Xampp(Chromeで動けば他のブラウザは動かなくてもよい)
[html]
<html>
<head>
<script type="text/javascript" src="./jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="./Test.js"></script>
</head>
<body>
<div id="result"></disp>
</body>
</html>
0656655
2012/05/11(金) 06:23:00.42ID:TEIyqVKGvar hTimer = null;
$( function() {
hTimer = setInterval( ProgressEvent, 1000 );
$( "div#result" ).html( "START" );
$.post( "./Wait.php", null, OnFinishEvent );
} );
function ProgressEvent() {
$.post( "./Test.php", null, OnResultEvent );
}
function OnResultEvent( in_Data ) {
$( "div#result" ).text( in_Data.test );
}
function OnFinishEvent( in_Data ) {
clearInterval( hTimer );
$( "div#result" ).text( "FINISH" );
}
0657655
2012/05/11(金) 06:23:33.73ID:TEIyqVKG<?php
header('Content-type: application/json');
session_start();
@session_destroy();
session_write_close();
for( $i=0; $i<3; $i++ ) {
session_start();
$_SESSION['test']+=5;
session_write_close();
sleep( 3 );
}
?>
[PHP2]
<?php
header('Content-type: application/json');
session_start();
echo json_encode( $_SESSION );
?>
連投すみません。
0658nobodyさん
2012/05/11(金) 09:14:30.53ID:???最新のPHPにしたら拡張で変数の扱いを考えろ!
ばかやろーと言われたw
0659nobodyさん
2012/05/11(金) 09:29:58.46ID:TEIyqVKGレスありがとうございます。
セッションファイルが作成されるタイミングを理解していませんでした。
処理として以下の流れを先のコードの前に挿入して、テストしてみます。
1、[クライアント側] 初期化.phpへリクエスト(同期でリクエスト)
2、[サーバー側] 初期化.php > セッションファイルを作成
3、今までの流れ(destroyは行わない)
最新PHPのエラーについては、上記コードが対応したのちに見てみます。
0660nobodyさん
2012/05/11(金) 10:18:25.34ID:???よくわかってないけど、3行目が $( function() {
じゃなくて
$(document).ready(function() {
なんじゃないかな?
0661655
2012/05/11(金) 10:27:47.36ID:???レスありがとうございます。
>>659のやり方で、(おそらく、、、)解決できました(ものと思っています、、、)。
現在、本番のコードを修正してアップロードして動作確認したら
先の質問でさらした間違っていたコードを修正して、こちらに書き込みます。
0662655
2012/05/11(金) 11:06:39.96ID:TEIyqVKG邪魔かもしれませんが、動作したコード貼り付けていきます。
[JS]
var hTimer = null;
$( function() {
$.post( "./Init.php", null, OnInitEvent );
} );
function ProgressEvent() {
$.post( "./Test.php", null, OnResultEvent );
}
function OnInitEvent() {
hTimer = setInterval( ProgressEvent, 1000 );
$.post( "./Wait.php", null, OnFinishEvent );
$( "div#result" ).html( "START" );
}
function OnResultEvent( in_Data ) {
$( "div#result" ).text( in_Data.test );
console.log( in_Data );
}
function OnFinishEvent( in_Data ) {
clearInterval( hTimer );
$( "div#result" ).text( in_Data );
}
0663655
2012/05/11(金) 11:08:15.24ID:TEIyqVKG[初期化PHP Init.php]
<?php
session_start();
@session_destroy();
session_write_close();
?>
[PHP1 Wait.php]
<?php
header('Content-type: application/json');
for( $i=0; $i<3; $i++ ) {
session_start();
$_SESSION['test']+=1;
session_write_close();
sleep( 3 );
}
echo json_encode( "FINISH" );
?>
0664655
2012/05/11(金) 11:14:00.68ID:TEIyqVKGスレ汚しすんませんでした。
>>658
php-5.3.3-3.el6_2.6.x86_64
本番用のCentOS6.3サーバーが↑なのですが、
特にエラーは吐き出されませんでした。
ただ、、、こちらのサーバー設定でエラーを吐き出さないように設定している可能性もあります。
(これ以上はスレチになりますので、ここで報告は終わりにします)
0665nobodyさん
2012/05/11(金) 11:20:21.55ID:???Baseの定義を別ファイルに移してrequireするとBase OK、Sub NGになるのはどうしてでしょうか?
そのあたりの仕組みを解説しているページなど教えてください。
// OK
<?php
class Base {
}
echo "Base " . (class_exists('Base') ? 'OK' : 'NG') . "\n";
echo "Sub " . (class_exists('Sub') ? 'OK' : 'NG') . "\n";
class Sub extends Base {
}
// NG
<?php
require_once('Base.php');
echo "Base " . (class_exists('Base') ? 'OK' : 'NG') . "\n";
echo "Sub " . (class_exists('Sub') ? 'OK' : 'NG') . "\n";
class Sub extends Base {
}
0666nobodyさん
2012/05/11(金) 12:03:39.39ID:???専用サーバーでよろしく!
>>665
ほんとだ、面白いw
実際にbaseが呼ばれるまでclass扱いしてないみたい
さすが変態言語
0667nobodyさん
2012/05/11(金) 12:17:14.48ID:???includeしないなら baseはどこでも
sub定義は使う(インスタンスの生成とか、 class_exists)の前な。
0668nobodyさん
2012/05/11(金) 13:15:48.44ID:???そういうのは文章化はされてないのでソースの Zend/ 以下を読む
スクリプトのパース時に未定義のクラスを使ったクラス定義がある場合は
遅延クラス定義用の中間コードが生成され
実行時にクラス定義が行われる
0669nobodyさん
2012/05/11(金) 23:54:03.57ID:???0670nobodyさん
2012/05/12(土) 01:09:03.69ID:???0671nobodyさん
2012/05/12(土) 16:32:44.14ID:v9zwoOnjという正規表現を書いてみたのですが正規表現のベテランの方から見て
如何でしょうか?
よりスマートな書き方があればご伝授下さい。
$str = " あああ いいい ";
$str = preg_replace("/^(.+?)[\s| ]*$/","\\1",$str);
echo "[{$str}]<br>";
0673nobodyさん
2012/05/12(土) 16:47:36.34ID:???0675nobodyさん
2012/05/13(日) 00:35:24.38ID:??????すり抜けますか?
今日の午後、試してみます。
>>674
勉強がてらバリデーションを全てオリジナルの正規表現でやろうと思ってます。
0677nobodyさん
2012/05/13(日) 00:47:07.48ID:K0OOuigT正規表現に特化した資格とかって無いですかね?
毛嫌いしていた正規表現ですがマスターすると
色々と便利な事に最近きずきました。
0678nobodyさん
2012/05/13(日) 00:47:10.41ID:???0679nobodyさん
2012/05/13(日) 00:48:06.45ID:???それでも>>677のような挑発してくるってことは
いつもの人ですね┐(´д`)┌
0680nobodyさん
2012/05/13(日) 00:51:20.57ID:???こっちで聞いた方が良い
http://kohada.2ch.net/test/read.cgi/php/1168450843/
0681nobodyさん
2012/05/13(日) 01:00:47.76ID:???0682nobodyさん
2012/05/13(日) 01:29:14.14ID:???0683nobodyさん
2012/05/13(日) 01:46:17.73ID:K0OOuigTありがとうございます。
正規表現系はあっちのスレで質問します。
ちなみに正規表現のルールは各言語同じなんでしょうか?
0684nobodyさん
2012/05/13(日) 02:01:52.08ID:???まぁたいていどの言語でも問題ない
SQLみたいなもんだな
とりあえずwikipediaでもみてこいや
0686nobodyさん
2012/05/13(日) 02:16:34.83ID:???0687nobodyさん
2012/05/13(日) 02:18:33.56ID:???ちょっと叩かれたからって固執しちゃって被害妄想すぎんじゃね?
そんでずっと荒らし続けるとかどんだけ暇なのよ
他言語の話題をしたから叩かれたんじゃないだろ?
>>275のスレを見て何がいけなかったのか考えて反省してこいよ
これで本当に他言語の話出したから嫌がられたとか思ってんなら
救いようのない被害妄想野郎ですよ
0688nobodyさん
2012/05/13(日) 02:19:50.10ID:???0689nobodyさん
2012/05/13(日) 02:35:12.94ID:???補足するとPHPは正規表現エンジンを持っているから使い分けする必要がある
preg_* で始まるものがPCREでPerl 5と互換がある
mb_ereg_* で始まるものが鬼車。Ruby 1.9も同じエンジンを使っているはず
どちらもphp.iniの設定は独立しているから一緒にして考えないこと
ereg_* 系は廃止予定なので割愛
0691nobodyさん
2012/05/13(日) 03:12:40.19ID:???0692nobodyさん
2012/05/13(日) 03:16:31.08ID:???0693nobodyさん
2012/05/13(日) 06:23:02.31ID:eBmlSuD7DBのテーブルの変更を、Subversionみたいに(じゃなくてもいいけど)管理する方法ないでしょうか
複数の鯖で運営する時、DBのテーブル構成の同期を取るのにいつも苦労しています
0694nobodyさん
2012/05/13(日) 06:28:29.62ID:???0695nobodyさん
2012/05/13(日) 11:37:55.51ID:???0696nobodyさん
2012/05/13(日) 11:42:08.79ID:???0697nobodyさん
2012/05/13(日) 12:30:04.62ID:???0698nobodyさん
2012/05/13(日) 12:43:13.71ID:???0699nobodyさん
2012/05/13(日) 13:10:05.00ID:???大方のフレームワークの手法では
データベースのバージョン=アプリケーションのバージョンという考え方から
PHP側にバージョンアップ、ダウンの仕組みを実装しておいて、
バージョン間の差分のDDLで実行するようにしている
これはDoctrineだがイメージ的には掴めると思う
http://www.symfony-project.org/doctrine/1_2/ja/07-Migrations
/**
* This class has been auto-generated by the Doctrine ORM Framework
*/
class AddBlogPostExcerptColumn extends Doctrine_Migration
{
public function up()
{
$this->addColumn('blog_post', 'excerpt', 'string', array('length' => '255'));
}
public function down()
{
$this->removeColumn('blog_post', 'excerpt');
}
}
0700nobodyさん
2012/05/13(日) 14:09:56.02ID:???回答するやつも嵐なのか?
0701nobodyさん
2012/05/13(日) 14:15:04.35ID:???0702nobodyさん
2012/05/13(日) 14:18:00.37ID:???0703nobodyさん
2012/05/13(日) 14:24:40.18ID:???いないやつのためにケンカするんじゃねえよ
はい次
0704nobodyさん
2012/05/13(日) 14:30:34.24ID:???てなわけで次
0705nobodyさん
2012/05/13(日) 14:34:13.77ID:???PHPのPHPの変更を、PHPみたいに(じゃなくてもいいけど)PHPする方法ないでしょうか
複数の鯖でPHPする時、PHPのPHP構成のPHPを取るのにいつもPHPしています
0706nobodyさん
2012/05/13(日) 14:40:54.70ID:1mjLS1dc0707nobodyさん
2012/05/13(日) 14:59:16.07ID:???ここはPHPスレだ、PHPの話がしたけりゃPHPスレ行けよ
0708nobodyさん
2012/05/13(日) 15:03:00.20ID:???面白いとでも思ってんの?
0709nobodyさん
2012/05/13(日) 15:04:34.49ID:???面白いとでも思ってんの?
0710nobodyさん
2012/05/13(日) 15:06:10.38ID:???PHPPHPPHP、PHPPHPPHPPHP?
PHPPHPPHPPHPPHP!PHPPHPPHPPHPPHPw
0711nobodyさん
2012/05/13(日) 15:06:33.66ID:???0712nobodyさん
2012/05/13(日) 15:07:56.31ID:???0713nobodyさん
2012/05/13(日) 15:52:41.06ID:K3/1zaDnMySQLのテーブルのロック
MySQLのレコードのロック
これらをやっているんですが、ロック解除しないでexit;しちゃうのは大丈夫なんでしょうか?
0714nobodyさん
2012/05/13(日) 15:54:33.37ID:???0715nobodyさん
2012/05/13(日) 15:58:40.57ID:???0717nobodyさん
2012/05/13(日) 16:18:04.30ID:???マルチ
0718nobodyさん
2012/05/13(日) 16:24:01.92ID:???ファイルについてはスクリプトの終了時点でファイルディスクリプタが開放されるので結果的に解除される
MySQLも切断に合わせて解除されるが
http://php.net/manual/ja/features.persistent-connections.php を利用しているとその限りじゃない
0719nobodyさん
2012/05/13(日) 16:55:29.02ID:???0721nobodyさん
2012/05/13(日) 16:58:30.62ID:???0722nobodyさん
2012/05/13(日) 17:04:46.02ID:???fcloseの悲劇みたいなことが起こらないとは限らないし
0723nobodyさん
2012/05/13(日) 17:08:50.94ID:???0724nobodyさん
2012/05/13(日) 17:14:53.17ID:???0725nobodyさん
2012/05/13(日) 17:23:43.07ID:???だけどもちゃんと考えて用心しときゃー大丈夫
んだからロック解除しなくても大丈夫ですか?とかじゃなくて必ずロック解除するように組め。それがプログラマーってヤツだ
0726nobodyさん
2012/05/13(日) 17:25:51.00ID:???やだ何この人かっこいい
0727nobodyさん
2012/05/13(日) 17:29:42.06ID:???PHPは地球に巣くう諸悪の根源
0728nobodyさん
2012/05/13(日) 17:44:06.18ID:???0730nobodyさん
2012/05/13(日) 19:01:17.05ID:???php5はコード的にはだいぶjavaに近いからな
といってもj2se1.4とか昔のころのだけど
0731nobodyさん
2012/05/13(日) 19:01:58.93ID:???0734nobodyさん
2012/05/13(日) 19:55:27.76ID:???0737nobodyさん
2012/05/13(日) 19:59:13.03ID:???関数名の命名法や引数の順序に一貫性がない継ぎはぎの糞言語なのに?
0738nobodyさん
2012/05/13(日) 20:09:09.32ID:???そうPHPはOOPでプログラミングできるんだよ
残念ながらOOPと名前空間やAPIのシグネチャは無関係なんだよねぇ
0743nobodyさん
2012/05/13(日) 20:21:36.25ID:???カス以下
0744nobodyさん
2012/05/13(日) 20:24:19.39ID:???0745nobodyさん
2012/05/13(日) 20:24:37.78ID:???他の言語で役に立ちません。
0746nobodyさん
2012/05/13(日) 20:24:53.65ID:???何を持ってしてJava比較するのかと
パッケージが要求する機能をまず定義して欲しいな
次から質問する時にIDを出してね
0749nobodyさん
2012/05/13(日) 20:30:32.91ID:???0750nobodyさん
2012/05/13(日) 20:42:43.70ID:???それ僕じゃないので彼がどういう理由で判断したのか分からないな
と言ってもIDが出ない板だから信用されないかも知れないけど。
まぁ誰かの後学になるかも知れないから、第三者が読んでも理解できるよう説明して下さい
0751nobodyさん
2012/05/13(日) 20:47:14.80ID:???インデントが意味をもつPythonや
asとか使ってまわりくどいVB
それぞれが特徴あるなかで
確かにPHP5とJavaの文法は似通っている
■ このスレッドは過去ログ倉庫に格納されています