質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

4403閲覧

Constructor cannot be static

imamoto_browser

総合スコア1161

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/06/09 21:26

下記コードを実行すると、Fatal error: Constructor PhoneReplace::phoneReplace() cannot be staticとエラーになります。
解決策を教えてください。

lang

1<?php 2 3abstract class PhoneReplace 4{ 5 protected static $phone_num = '080-0000-0000'; 6 public static function phoneReplace() 7 { 8 return str_replace('-','',static::$phone_num); 9 } 10} 11class PhoneReplaceUnder090 extends PhoneReplace 12{ 13 protected static $phone_num = '090-0000-0000'; 14} 15 16echo PhoneReplaceUnder090::phoneReplace(); 17 18 19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Constructor PhoneReplace::phoneReplace() cannot be static

「コンストラクタ PhoneReplace::phoneReplace() は静的にすることはできません」

クラス名 PhoneReplace と、メソッド名 phoneReplace が case insensitive で同じ名前になっているため、phoneReplace がコンストラクタだと解釈されています。

コンストラクタは静的にできないので、そのエラーになっています。

どちらかの名前を変更するか、もしくはネームスペースに入れれば解決します。

lang

1<?php 2namespace A; 3 4abstract class PhoneReplace 5{ 6 protected static $phone_num = '080-0000-0000'; 7 8 public static function phoneReplace() 9 { 10 return str_replace('-','',static::$phone_num); 11 } 12} 13 14class PhoneReplaceUnder090 extends PhoneReplace 15{ 16 protected static $phone_num = '090-0000-0000'; 17} 18 19echo PhoneReplaceUnder090::phoneReplace();

投稿2015/06/09 23:06

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

imamoto_browser

2015/06/10 15:21

いつも回答ありがとうございます。ところで、http://qiita.com/ngyuki/items/1ec7cd9af021d04e76c6の記事を拝見したのですが、key_lenとはkeyの何の長さなのでしょうか? また30 万行ぐらいはセカンダリインデックスを読み飛ばす必要があります。これならセカンダリインデックスは使わない方がマシです。⇒ここがよくわからなかったのですが、order byでソートされたもので900000以下の最初のレコードを見つけ出すために30万レコード読むコストが生まれるということでしょうか?
ngyuki

2015/06/10 15:46

この質問ともこのサイトとも全く関係の無い話題なので、Qiita の当該記事のコメントとかで聞いてもらえませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問