【PHP】下らねぇ質問はここに書き込みやがれ 10

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cfe8-+65u)
垢版 |
2018/11/28(水) 17:08:46.02ID:Nb5yTkdM0
PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 9
http://mevius.5ch.net/test/read.cgi/tech/1513760420/

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2019/01/14(月) 07:36:31.79ID:qdlB9M7a0
すみません、助けてください

Vagrantが警告出てインストール出来ない環境って
何が問題なんでしょうか?
インストールが強制終了されます

バージョンは最新です
何が邪魔してるのでしょうか?

https://i.imgur.com/3jCEdpw.png
2019/01/14(月) 11:20:16.98ID:WRAeIDjcr
知らん
てか普通は作ったサポートに聞くだろ
なんで関係ない他人に聞くんだよ?
2019/01/14(月) 12:39:08.03ID:Wx7rBQ7H0
PHPの質問でもないしなぁ
2019/01/14(月) 21:58:11.38ID:mB9ZyxQs0
>>65
ありがとうございます!

cakePHPもフレームワークで優れていると
買った教材に書いてありました
今後とも、色々ご指導お願いします!
2019/01/17(木) 02:54:30.64ID:PVRvfBHL0
今でも使えるリファレンス本って何があるのでしょうか?
出版されてるものって古いですけど使えます?
2019/01/17(木) 11:02:45.61ID:oOFYk3pkr
phpはほぼ変わってないからよほど古くない限りどれでもいいからさっさとやれ
2019/01/22(火) 15:38:00.61ID:+epunpvy0
laravel マイグレーション、シーディング処理について教えてください
現象:マイグレーションは作成できた。シーディングの実行で、columnが無い、というエラーが出る

----- migration --------
class CreatePeopleTable extends Migration{
pubulic function up(){
Schema::create('people',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->timestamps();
2019/01/22(火) 15:54:41.18ID:+epunpvy0
laravelついて教えてください。現象:マイグレーションでテーブルは作成できた。シーディングの実行で、columnが無い、というエラーが出る

//----- migration --------
class CreatePeopleTable extends Migration{
pubulic function up(){

Schema::create('people',function(Blueprint $table){
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->timestamps();
});}

//----- Seeder -----
publid function run(){

$param=['name'=>'suzu','age'=>20,]:
DB::table('people')->insert($param);

$param=['name'=>'mizu','age'=>24];
DB::table('peope')->insert($param);}

//----- Seeding実行 -----
php artisan db:seed

//----- エラー -----
General error:table people has no column named name(SQL:insert into "people"("name","age") value(suzu,20))

catch(Exception $e){//・・・
$query,$this->prepareBindings($bindings),$e
マイグレーションで作成したテーブルにデータが登録できないのはなぜなのでしょうか?よろしくお願いします。
2019/01/22(火) 16:28:02.93ID:+epunpvy0
すみません、なんだか分かりませんでしたが自己解決しました。
お騒がせしました。
75デフォルトの名無しさん (ワッチョイ 9375-qnWR)
垢版 |
2019/01/23(水) 08:11:47.51ID:3lDydxt30
練習兼ねて小規模&少機能で簡単なネットショップを作ろうとしてるのですが、設計段階でファイルがごちゃごちゃになってしまいそうです
フォルダの作り方やファイルの分け方はどんな感じでやればスッキリ分かりやすくなりますかね?
2019/01/23(水) 08:31:27.16ID:Kmczp3SP0
>>75
小規模でもフレームワーク使うのがいいよ
2019/01/23(水) 09:34:11.34ID:PjIYOotT0
フレームワーク自体のメンテが厄介だから入れずに済むのであれば入れない方がいいよ
2019/01/23(水) 11:27:05.16ID:aXKStg7n0
rep2という2chビューアのうち、DB連携部分のみうまく動かずデバッグしています。
■環境
php7.2で、phpinfo()には mysqli,mysqlnd,pdo_mysql
いずれもバージョン情報が表示されてて、必要な環境は準備できていると思っています。

■現象
$db = \DB::connect($dsn);
を実行すると、"DB Error: no database selected"というエラーになります。実際やりたいこと(imagecache2の利用)もできません。

■調べたこと
$this->comment('dsn=' . var_export($dsn, true));
の結果、以下の通り$dsnは正しいように見えます。
dsn='mysqli://rep2:password@localhost:3306/rep2'

しかし、以下のようにすると…
$db = \DB::connect($dsn);
$this->comment('db=' . var_export($db, true));

配列にusernameやpasswordが代入されていないようです。
'dsn' =>
array (
'phptype' => 'mysqli',
'dbsyntax' => 'mysqli',
'username' => false,
'password' => false,
'protocol' => false,
'hostspec' => false,
'port' => false,
'socket' => false,
'database' => false,

ではなぜ代入されないのか、がわからず。教えていただけないでしょうか。
2019/01/23(水) 11:46:36.90ID:tAarVqiS0
よく知らないけど、
connect は、データソースへつなぐだけじゃないの?

SQL のselect みたいなものは無いの?
CRUD も検索して
80デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
垢版 |
2019/01/24(木) 00:24:18.63ID:cPFOMtSZ0
$url = 'http://example.com/'+'/path/';
だと、途中に余分なスラッシュが入りますよね。
それを綺麗に整形してくれる関数や手法などはありますか?
2019/01/24(木) 19:50:20.26ID:kFfuye3h0
標準関数にズバリのものはないと思うけど探せば誰かコード書いてるはず
簡単なのでよければsubstr使うとか
parse_urlしたのを組み直すかそのあたりで
./../とかも考慮するならちょっと面倒になってくるが
2019/01/24(木) 23:16:07.50ID:TFfQdKfR0
>>80
自分でパスを連結する関数を書いちゃうとかどうだろう?
その中では rtrim($path1, '/') . '/' . ltrim($path2, '/') を繰り返す感じ?
2019/01/24(木) 23:50:15.43ID:1L/prd7r0
/ の2個以上の連続を一つに置換する操作する処理を見かけたことあるなぁ。。。
あんまりきれいじゃない気がするけどw
2019/01/24(木) 23:57:10.70ID:+WsHUVaQ0
ちょっと乱暴かも知れませんが、スラッシュが二重になっても
パスとしてはエラーにはならないと思います(見た目汚いですが)
85デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
垢版 |
2019/01/25(金) 23:38:05.77ID:H/r4QqDk0
echo 'aaa';
echo('aaa');
include_once 'path/file.php';
include_once( 'path/file.php');
のようにカッコが有っても無くても良い関数がありますが、
php上級者の人はどっちを使うのでしょうか?
理由も教えてけろ
2019/01/26(土) 17:25:33.44ID:y5VTPiFL0
関数・・・・・カッコを付ける
言語構造・・・カッコを付けない

echo も include も言語構造。
迷ったらマニュアルの例文をコピペ。
87デフォルトの名無しさん (オッペケ Srf1-ZdbU)
垢版 |
2019/01/26(土) 17:57:25.92ID:WSFNrCYQr
phpの関数の戻り値って望む型の他にfalseも返ることがあるよね
そんで7からは戻り値の型宣言いれて戻り値の型が違ったらTypeError出す

もうごちゃごちゃだね
2019/01/26(土) 18:18:29.92ID:HzZF0HWM0
言っていることがごちゃごちゃだってことは分かった
2019/01/26(土) 18:58:01.87ID:exLOU4gz0
Ruby では、これだけで正常につながる

File.join 'http://example.com/', '/path/'
2019/01/28(月) 07:17:11.62ID:X4/3tVW10
laravelに関して質問させてください。
Eloqentのモデルに関してです。

<?php
namespace ---
use ---\Model
class Person extends Model{
public function scopeAgeGreaterThan($query,$n){
return $query->where('age',$n);
}

コード中の$queryは、$thisとしても同じ結果が得られます。
$thisではなく、引数$queryを利用する意味は、何かあるのでしょうか?
もしあるのなら、その意味、意義を教えていただけないでしょうか?
よろしくお願いします。
2019/01/29(火) 09:22:43.65ID:YbHXkxp70
$thisは自分自身のインスタンスからテーブル情報を取得
$queryはクエリビルダーを使ってテーブル情報を取得
92デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
垢版 |
2019/01/29(火) 21:20:14.58ID:KhUtNVBn0
ttps://stackoverflow.com/questions/4366730/how-do-i-check-if-a-string-contains-a-specific-word
の5831の回答で、
if (\strpos($a, 'are') !== false) {
の部分ですが、if( の次のスラッシュは何ですか?
2019/01/29(火) 21:54:10.57ID:AnpnZGSz0
そのサイトの下の方では、\ は付いていないから、気にしなくてよいのでは?

<?php

$haystack = 'how are you';
$needle = 'are';

if (strpos($haystack,$needle) !== false) {
echo "$haystack contains $needle";
}

?>
94デフォルトの名無しさん (ワッチョイ 49ba-L3L3)
垢版 |
2019/01/29(火) 22:00:03.73ID:KhUtNVBn0
>>93
了解です、気にしません。
ところで、わざわざ !==falseで判定する理由は何ですか?
2019/01/30(水) 00:01:17.63ID:T9WgAkKs0
Ruby には、偽がnil, false の2つしかないけど、
JavaScript, Python, PHP には、偽が10個ぐらいある

0, 0文字列、空配列とか、様々な可能性が排除できない。
少しでも表現を変えると、バグる

例えば、それをtrue に変えると、様々な偽の条件が存在してしまう。
0 の時とか、空配列とか

他の言語は、Rubyに比べて、バグる確率が高い
2019/01/30(水) 00:31:11.46ID:Xc33HHDg0
>>94
strposは0を返しうるから if (!strpos(...)) だと false が返ってきた(見つからなかった)のか 0 が返ってきた(先頭に見つかった)のか判別出来ない

http://php.net/manual/ja/function.strpos.php
の返り値の警告の部分
2019/01/30(水) 00:54:29.54ID:T9WgAkKs0
Ruby 以外の言語では、
!= など、普通の比較演算子では、偽が10個ぐらいあるから危険!

!== などの厳密比較演算子を使うべし!
2019/01/30(水) 06:04:31.07ID:Bo5lehOR0
>>92-93
名前空間指定してるだけ
phpの標準関数や内部クラスはすべて\の名前空間に属している
普通はわざわざ書かない
2019/01/30(水) 06:22:12.32ID:Bo5lehOR0
>>92のサイト見てなかったけどおそらく別の名前空間内で使うこと想定して
回答したんだろうね
でも例えばこんなコードでも書かない限りは不要

namespace my;
function strpos(string $haystack, string $needle, int $offset = 0)
{
$retval = \strpos($haystack, $needle, $offset);
if ($retval === false) {
return false;
} else {
return $retval + 1;
}
}

var_dump(\strpos('abcde', 'c'));
var_dump(strpos('abcde', 'c'));
100デフォルトの名無しさん (ワッチョイ 6eba-L3L3)
垢版 |
2019/01/30(水) 16:29:27.79ID:/IyzrTjj0
>>95
良く分かりました。
101デフォルトの名無しさん (ワッチョイ 6eba-L3L3)
垢版 |
2019/01/30(水) 16:32:02.78ID:/IyzrTjj0
>>99
$retval = \strpos($haystack, $needle, $offset);
これだと、どこかよその名前空間で定義されているstrposと言う意味ですか?
$retval = \MY_NameSpace\strpos($haystack, $needle, $offset);
と書くと、特定の名前空間を絶対パスで指定出来るという理解で良いですか?
2019/01/30(水) 22:13:35.19ID:Bo5lehOR0
>>101
>どこかよその名前空間で定義されているstrposと言う意味ですか?
どこかっていうか標準関数のstrposことなんだけど
これはnamespace myで定義しなおした標準関数strposのラッパー関数
もしここで
>$retval = \strpos($haystack, $needle, $offset);
に\をつけないと自身のstrposをさしてしまうので
この関数自体は標準関数のラッパーに過ぎず実装を持たないので正しく動かない
へたしたら再帰処理でループに陥るのと同じ感じになってしまう
2019/01/30(水) 22:22:17.50ID:Bo5lehOR0
もう1つの質問に答えてなかった
>$retval = \MY_NameSpace\strpos($haystack, $needle, $offset);
>と書くと、特定の名前空間を絶対パスで指定出来るという理解で良いですか?
まあそんな理解で大丈夫かと
104デフォルトの名無しさん (ワッチョイ ffba-zj6v)
垢版 |
2019/01/31(木) 13:36:09.97ID:8UUA+SfH0
>>103
ありがとうございます。
もう一つ教えて下さい。
自分で作ったライブラリ関数群は、自分用の名前空間を定義して
例えば、こんな感じで
namespace MyLib{
  function myfunc1(){
    ・・・
  };
  function myfunc2(){
   ・・・
  };
}
のように、名前空間に入れておくべきですか?
それとも名前空間無しにしておくほうが使い易いですか?
2019/01/31(木) 14:50:10.17ID:87rKAAGWa
ユーザー定義関数の引数を変数にした時、渡された変数名も同じでいいんですよね?下の様に
でもいろんな説明みると変更してることが多いけどなんで?

function func($hoge){
・・・
}

func($hoge);
2019/01/31(木) 15:28:08.69ID:hjN211+T0
分けて考えてはいけないという誤解を与えないため
2019/01/31(木) 15:28:24.41ID:rgWv2NOA0
>>104
名前空間を指定しないということは
標準関数や内部クラスと同じグローバルの名前空間(\)に属することになるので
もちろんコーディングする上での利便性はいい
名前空間がPHP5.3から導入されたように昔はなかったわけだし「やりよう」によっては問題にならない
例えば被ってしまってエラー出たら関数名を変えるとか
被る可能性がかぎりなくないような風変わりな関数名をつけるとか
先人がその「やりよう」が面倒だったから導入したんだけど
実際にはよほど巨大なプロジェクトでもない限り問題は起きないと思う
あとは名前空間の概要見て決めたらいいんじゃないかな
http://php.net/manual/ja/language.namespaces.rationale.php
他人に使ってもらうことを考慮するならつけるべきだけどね
108デフォルトの名無しさん (ワッチョイ ffba-zj6v)
垢版 |
2019/01/31(木) 19:50:03.57ID:8UUA+SfH0
>>107
解説ありがとうございました。
ところで関数にprivateやpublicを付けられるのはclassの中だけですか?
namespaceの中でprivateな関数を定義することは出来ませんか?
つまり、そのnamespaceの中だけで作業する為の関数で、
外部に公開したくない関数です。
109デフォルトの名無しさん (ワッチョイ 7f89-SDwV)
垢版 |
2019/02/06(水) 14:06:21.85ID:7EDRIJEy0
質問させてください。
配列で「りんご・バナナ・みかん・りんご・みかん・りんご」とあった場合、
これを「りんご1・バナナ1・みかん1・りんご2・みかん2・りんご3」
みたいに同じものが何個目かを書き加えたいのです。
どうやるといいしょうか?
2019/02/06(水) 22:56:42.64ID:7o71stsH0
$data=array('りんご','バナナ','みかん','りんご','みかん','りんご');

$result=$count=array();
foreach( $data as $key => $value ){
if( isset($count[$value]) ){
++$count[$value];
}else{
$count[$value]=1;
}
$result[$key]=$value.$count[$value];
}
var_dump($result);
2019/02/07(木) 09:46:48.28ID:zNwO6Ncy0
print_r(array_count_values($data));
でよくないすか?
2019/02/07(木) 09:47:44.44ID:zNwO6Ncy0
よく質問読んでなかったw
2019/02/07(木) 11:09:21.09ID:YOzllYWE0
なんで宿題をやってあげちゃうの
2019/02/07(木) 12:36:05.22ID:2KroeUTW0
暇だったからでは
2019/02/07(木) 21:45:05.72ID:EixwHHP40
array_multisort()の配列が多次元だった場合はどこを比較してるの?

$ar[] = array(1);
$ar[] = array(1);
$ar[] = array(2);
$ar[] = array(2);
$ar2 = array(1,2,3,4);
array_multisort($ar, SORT_DESC, $ar2);

Array
(
[0] => 3
[1] => 4
[2] => 1
[3] => 2
)
----
$ar[] = array(1, 1);
$ar[] = array(1, 2);
$ar[] = array(2, 3);
$ar[] = array(2, 4);
$ar2 = array(1,2,3,4);
array_multisort($ar, SORT_DESC, $ar2);

Array
(
[0] => 4
[1] => 3
[2] => 2
[3] => 1
)
116デフォルトの名無しさん (ワッチョイ 0289-fard)
垢版 |
2019/02/08(金) 00:54:59.90ID:DKnzBuB20
>>110
返信が遅くなってしまいすみません。
うまくできました。
本当にありがとうございます。
117デフォルトの名無しさん (ワッチョイ e101-95g7)
垢版 |
2019/02/08(金) 01:23:31.06ID:1Q4bQ8+M0
phpでスクレイピングした文字列をmysqlのデータベースにInsertしたいのですが、ざっくりどういう風にやればよいでしょうか?
スクレイピング自体は出来ていて、ここからDBに挿入する方法が知りたいです。
よろしくおねがいします。
118デフォルトの名無しさん (オッペケ Srd1-da9w)
垢版 |
2019/02/08(金) 08:16:42.39ID:Waqd0NNdr
ざっくりいうとINSERTのSQL文を書けばいいんだよ
2019/02/08(金) 11:07:14.81ID:VEywR5okr
https://media.theync.com/videos/6/9/0/4/8/6904895a9f5723f21e4.mp4
https://i.imgur.com/pPQNL83.jpg
120デフォルトの名無しさん (ワッチョイ a275-Ctdi)
垢版 |
2019/02/08(金) 16:27:15.56ID:k5rPGxdZ0
サーバー側に数万枚の画像を保存する場合、数万枚を1つのフォルダに入れるのと、10000台、20000台のようにフォルダ分けしたほうがいいですか?
2019/02/08(金) 16:38:40.38ID:j4lUPneda
保存して何するかによるのでは?
122デフォルトの名無しさん (ワッチョイ a275-Ctdi)
垢版 |
2019/02/08(金) 16:57:55.31ID:k5rPGxdZ0
1ページに20件〜50件くらいサムネ表示したり、1ページに数枚表示したり
ネットショップのようなイメージ
2019/02/08(金) 18:04:35.54ID:1w1isakW0
フォルダ分けするとアクセス時間が短くなる場合が多い
2019/02/08(金) 21:42:22.40ID:jEGlmC9W0
laravel関連の質問をお願いします。4日間前進できてません(汗
laravelのデフォルトのモデルUserと、テーブルusersを使い、ログイン(sign in)認証を行いたいのです。

----- form -------
<form action="***" method="post">
 <input type="email" name="email>
 <input type="password" name="password">
</form>

---- controller -------
public function post***(Requeat $request){
if(Auth::attempt(['email'=>$request->emai,'password'=>$request->password])
{
XXXXX;
}

ここで、if文のtrueにならず、すべてfalseになります。
Auth::attemptが、usersテーブルを読み込んでないような気がするのですが、
どうしてtrueにならないのか、教えていただけないでしょうか><
どうか、よろしくお願いします。
2019/02/08(金) 22:44:50.24ID:SnO1YjyT0
$request->emaiにlが足りて無いとか?
2019/02/09(土) 06:31:09.14ID:3JjKiGqr0
すみません。$request->emailです。
タイプミスはなくても、falseになります。
よろしくお願いします。
2019/02/09(土) 10:15:38.13ID:lpNDR5cs0
他人のホームページを書き換えたいんでつけど
PHP使えば狩野でつか?
2019/02/09(土) 10:38:25.62ID:LiyCmRY90
その他人が許諾しているなら、その他人に聞け
その他人が許諾していないなら、警察が聞いてくれる
2019/02/09(土) 17:11:10.81ID:kXc/Z+zP0
何を書き換えたいんだろう?
HTML CSS JAVASCRIPT、それともフレームワークに依存?
PHP,CAKE,いろいろあるから、一概になんとも・・・
2019/02/09(土) 18:20:17.39ID:koH3JFsI0
pearのサイトが死んでるんたがなんかあった?
2019/02/09(土) 18:23:52.81ID:LiyCmRY90
>>130
PEAR server is down

「PEAR公式サイトのウェブサーバー上で改変された『tainted go-pear.phar』と
セキュリティ侵害が発見されました。PEARのウェブサイト自体は無害なクリー
ンサイトを再構築するまで使用不能とします。より詳細な情報はPEARの公式
ブログでチェックしてください」
132デフォルトの名無しさん (ワッチョイ 924b-Ctdi)
垢版 |
2019/02/10(日) 04:09:45.41ID:jBesuRSj0
Python勉強してるの
リストから”取り出す”っていう日本語ってなんか違和感ある
リストから取り出して要素を付け加えると元のリストにも反映されてる
これって取り出すっていう日本語だとイメージ変だよね

なんていうかリストのいち部分をズームアップしてそこだけ見えるようにしたようなイメージのほうがいいきがするの
だって取り出したんだったらいつ元に戻したの?っていうことになるよね?
イメージ的に
たぶん想像だけど元々のリストのメモリ上の位置は全く変わっていなくてずーっとそこにあるから取り出したっていう日本語が変なんだと思うの
133デフォルトの名無しさん (ワッチョイ 924b-Ctdi)
垢版 |
2019/02/10(日) 04:13:15.33ID:jBesuRSj0
これはリスト=辞書a、辞書b
みたいになってて辞書aをとりだしてそこになにかを付け加えた場合に
元のリストに変更がそのまま反映されることを言ってます
取り出すっていう日本語の操作だといつ元に戻したのっておもうよね?
2019/02/10(日) 08:09:11.07ID:4xhMpHOb0
なんかぶっ飛んでる人がいますね
2019/02/10(日) 08:55:31.07ID:t3zAhvOs0
laravelに関する質問お願いします
Auth;;attemptで参照されるテーブルが、どこで定義されているか分かりますか?
136デフォルトの名無しさん (ワッチョイ e101-iwoU)
垢版 |
2019/02/10(日) 20:03:25.52ID:Bb8eA8KO0
laravelの質問です
コントローラーの関数にフォームリクエストを入れるとPOSTからGETになるんですけど何でですかね?

use App\Http\Requests\fivechRequest;

class fivechContoroller extends Controller
{
public function write_ready() {
return view('write_ready');
}

public function write(fivechRequest $reqest) {
return "helllo world!";
}
}
fivechRequest $reqest
これ入れた途端にGETになってしまう
Route::get('test/bbs.cgi', 'fivechContoroller@write_ready');

Route::post('test/bbs.cgi', 'fivechContoroller@write')
->middleware(fivechMiddleware::class);
137デフォルトの名無しさん (ワッチョイ e101-iwoU)
垢版 |
2019/02/10(日) 20:26:08.90ID:Bb8eA8KO0
public function rules()
{
return [
//'bbs' => 'string|alpha|max:8|required',
//'key' => 'integer|digits:10',
//'subject' => 'string|max:64|required',
//'from' => 'string|max:32',
//'mail' => 'string|max:16',
//'message' => 'string|max:4096|required'
];
}
}
に変更したらPOSTになりました… なんででしょうか?
138デフォルトの名無しさん (ワッチョイ e101-feI+)
垢版 |
2019/02/10(日) 22:44:52.33ID:Bb8eA8KO0
勝手にリダイレクトされるのとめる方法ないですかね
2019/02/12(火) 06:18:45.22ID:4rvCbmwy0
ソースをたどっていけば
2019/02/13(水) 15:56:50.06ID:qcwaRdjDa
cronで実行しているPHPで不具合が出て調べているのですが、
php.iniでエラーログを指定していない場合、
コマンドラインからPHPを実行した時のエラーログってどこに出るのでしょうか?
apacheで実行した場合はapacheのエラーログに出るようですが
2019/02/13(水) 17:21:57.25ID:6eI6oeOB0
http://php.net/manual/ja/errorfunc.configuration.php#ini.display-errors
2019/02/16(土) 03:56:24.05ID:p8v5qaF40
質問させていただきます

データベースにセッション保存するようにsessionhandlerinterfaceを作りました
session_set_save_handlerで該当のハンドラを指定したらちゃんとデータベースにも書き込めているのですが
あるサイト上の複数ページで統一的にこのデータベース利用のセッションを使うには
各ページでsession_startの前に毎回ハンドラ指定をする必要があるのでしょうか?
(テストしてみると指定しないとデフォルトのファイル利用のセッションが作られているようでした)

php.iniか何かの編集でそもそもデフォルトをデータベース利用のセッションにするということなしに
上手いやり方があるのであればお教えいただければ幸いです
どうぞよろしくお願いいたします
143デフォルトの名無しさん (ワッチョイ a761-8zyB)
垢版 |
2019/02/17(日) 12:12:25.21ID:vpvr2f070
>>140
cronから実行したプロセスは端末と結びついていないから、リダイレクト指定しなければただ閉じてる。
2019/02/17(日) 12:22:30.41ID:wSo27DN5a
>>141
ありがとうございます
デフォルトの設定だと標準エラー出力に出るんですね
log_errorsを使ってサーバ側のエラーログを出力先に指定することもできると
2019/02/17(日) 12:23:37.36ID:wSo27DN5a
>>143
なるほど
エラー出力をリダイレクトすればいいんですね
ありがとうございました
2019/02/18(月) 18:19:22.08ID:yhtTsT3P0
laravelに関する質問を受け付けていただけますと幸いです><

今まで使っていたcontroller(app/http/controllers/)が、突然使えなくなりました。
<現象>
上記パスのcontrollerを変更しても反映されない。
上記パスのcontrollerを削除しても、古いcontrollerの設定が生きてて、プログラム自体は従来どおり動く
なにか、他のパスに古いcontrollerが保存されていて、そっちを読んでいるような感じがする

という感じなのですが、何か改善する方法を教えてくださるかた、いらっしゃいませんでしょうか?
2019/02/18(月) 23:59:28.75ID:s6PjmKn40
PHPをFastCGIやmod_phpで常駐させて動作させるとき、最初に一回だけ実行されるコードとリクエストの度に実行されるコードはどうやって区別しますか

CGIモードの時は毎回全てのコードをロードして実行することになると思うんですが、
FastCGIやmod_phpだと予めロード済みの状態のプロセスを待機させてプロセスの起動やコンパイルの実行を省いて高速化していると思っています

例えばpythonのWSGIだと起動時にアプリケーション関数の外側に書いたコードが実行され、その後はリクエストのたびにアプリケーション関数の内部だけ実行されます
--------------------
do_something()

def application(environ, start_response):
  start_response('200 OK', [('Content-type', 'text/plain')])
  return 'Hello, world'
--------------------
これと同じようなことはどのように実現しますか
2019/02/19(火) 17:39:51.40ID:z2WxkWjZ0
親クラスのprotectedプロパティに値を代入する時、
子クラス側にもプロパティを定義するものですか?
コーディングの一般的な作法や、可読性的な話です。
2019/02/20(水) 03:09:15.11ID:FK1AOD6X0
>>148
そういうのはドキュメントに出力すればいいと思うけど
PHPDocが面倒なら個人開発程度なら簡易的なものとして
trait ClassInfo {
 public static function getClass() {
  return Reflection::export(new ReflectionClass(get_called_class()), true);
 }
}
親クラスにこんなん入れて必要なときに参照すれば
少しはましになるんではないかと
2019/02/24(日) 02:45:30.45ID:yLdhIKyP0
>>149
遅くなりましたがレスありがとうございます
わざわざ子クラスにまで書く必要はなさそうですね
151デフォルトの名無しさん (ワッチョイ d79f-SKB1)
垢版 |
2019/03/05(火) 17:57:17.69ID:J7utTfUg0
"SELECT name FROM table WHERE name = 'hoge'"
これはしっかり結果帰ってくるのに
事前に$hoge = 'hoge'してから

"SELECT name FROM table WHERE name = $hoge"
これだと空になるのなんで
"SELECT name FROM table WHERE name = '$hoge'"
"SELECT name FROM table WHERE name = ".$hoge
とか試したけどダメだったわ;
2019/03/05(火) 18:12:06.81ID:/9vlYliD0
>>151
"SELECT name FROM table WHERE name = '" . $hoge . "'"

これだと?
2019/03/05(火) 18:18:55.25ID:J7utTfUg0
>>152
ダメだった
2019/03/05(火) 18:23:39.10ID:J7utTfUg0
すまん環境の問題だった
2019/03/05(火) 18:24:11.90ID:/9vlYliD0
>>153
編集したSQLをファイルか画面に出力してみて
意図した編集ができてないとしか思えないな
2019/03/05(火) 18:55:38.74ID:/9vlYliD0
解決したようですね、良かったです
2019/03/06(水) 13:44:29.53ID:kk7tfKyga
>>154
環境とは?
158デフォルトの名無しさん (ワッチョイ ffda-2g28)
垢版 |
2019/03/06(水) 16:10:50.95ID:tl9V0B/R0
PHP: nl2br - Manual
http://www.php.net/manual/ja/function.nl2br.php
string に含まれるすべての改行文字 (\r\n、 \n\r、\n および \r) の前に <br /> あるいは <br> を挿入して返します。
とありますが
\r\nはWindowsのCR+LFだとして、\n\rという改行コードは存在するのでしょうか?
よろしくお願いします
2019/03/07(木) 03:55:06.79ID:wQ6Vu2No0
改行を\n\rで保存したり取り扱うエディタが存在するかもしれないし
\r\nと勘違いして\n\rとか渡しちゃうかもしれないし
そんな人にも<br><br>と2つにはせずに<br>1つにしてくれる親切設計ってだけでは
160デフォルトの名無しさん (ワッチョイ d6da-DZHv)
垢版 |
2019/03/07(木) 08:24:12.22ID:2g7ZW4ya0
めんどくさい
CR絶滅してLFだけで統一してくれればいい
ありがとうございました
2019/03/08(金) 15:30:59.07ID:yu/ETmP20
昔はCRとLFで機能使い分けてたみたいだけど、当時からほぼCR+LFの使い方が主流だったよね?
CRだけ使うなんて、同一行書き換え以外に使い道が思い浮かばない
2019/03/08(金) 16:47:11.41ID:2GMb9sQS0
laravelの質問なのですが、よろしかったらご教授くださいませ

DBに登録されている性別情報を取得して
view画面のラジオボタンの初期値として、該当する性別をチェック状態にしたいと考えてます。
コントローラー側で、
$profile=['u_sex'=>$xxx->u_sex,***];
$param=['user'=>$user,'profile'=>$profile];

view側のhtmlを
<input type="radio" name="u_sex" value=1 @php ($profile->u_sex) ? 'checked':''>

としたいのですが、
htmlの「@php ($profile->
の > で、<input を閉じてしまってうまく動かせません。
なにか良い方法はありませんか?
2019/03/08(金) 16:49:42.82ID:Ee+Y4rJr6
>>161
つMacintosh
2019/03/08(金) 18:05:06.32ID:aqheESZi0
>>162
laravel知らんけど↓でどう?
@if ($profile->u_sex) checked @endif
2019/03/08(金) 18:15:43.51ID:yu/ETmP20
>>163
言葉足らずだったね。スマン。
OSによっての解釈の話ではなくて、本来のCR、LFの意味での話。

CRはキャリッジリターン(行頭復帰)、LFはラインフィード(行送り)。
元々タイプライター(テレタイプ)から来てると思うけど、PCにおいてそれぞれ片方だけ
使う事あったのかな?って話。

結局使わないからOSによって都合のいい解釈になったんだろうけど。
まあどうでもいいや。スレチスマン。
2019/03/08(金) 18:32:37.31ID:4NSKE0Lh0
ダウンロードしたソースをapacheで動かしたところ
PHP Strict Standards: Declaration of defaultAuth::useredit() should be compatible with authBase::useredit($user)
このようなエラーが出て該当する部分を見ると

function useredit(&$user,$pwd = false) {
if ($pwd) {
$user['password']=crypt($user['password']);
}
$this->db->update('users',$user,array('id' => $user['id']),$this->userfields);
}

1行目の function useredit(&$user,$pwd = false)
に「&」があるのですが、それを取り除くとエラーが出なくなりますが、
関数の引数の前に & はつけることがあるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています