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

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

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

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

2回答

2454閲覧

cakephp4で管理画面機能の構築中に真っ白画面

joywont

総合スコア13

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2020/09/18 05:19

cakephp4で管理画面を構築しようと思い、公式cookbookを参考に以下の手順を行いました。

認証の追加

composer require cakephp/authentication:^2.0

パスワードハッシュの追加

namespace App\Model\Entity; use Cake\Auth\DefaultPasswordHasher; use Cake\ORM\Entity; class User extends Entity { // ... protected function _setPassword($password) { if (strlen($password) > 0) { return (new DefaultPasswordHasher)->hash($password); } } // ... }

認証の設定

// src/Application.phpで以下のインポートを追加します use Authentication\AuthenticationService; use Authentication\AuthenticationServiceInterface; use Authentication\AuthenticationServiceProviderInterface; use Authentication\Middleware\AuthenticationMiddleware; use Psr\Http\Message\ServerRequestInterface;

ここまでは何も起きず。

アプリケーションクラスに認証インターフェースを実装

// src/Application.php で class Application extends BaseApplication implements AuthenticationServiceProviderInterface {

これで全て画面が真っ白になります。どのURLを入力しても真っ白です。
implemets以降を取り除くと元に戻ります。

この他に作業が色々とあるのですが、もはやエラー表示もせず真っ白になってしまってはどうしようもなく作業進みませんでした。

原因が全く分かりません。cakephp4は不完全なんでしょうか?それならcakephp3で作業しようと思いましたがとりあえず解決方法があるのならどなたかご教授お願いします。

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

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

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

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

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

m.ts10806

2020/09/18 05:23

>cakephp4は不完全なんでしょうか?それならcakephp3で作業しようと思いましたがとりあえず解決方法があるのならどなたかご教授お願いします。 「エラー表示」を明示的にONにして確認してください。 https://qiita.com/shotets/items/3c95aef631b2c5eadae5 あと「どのURLを入力しても」と仰いますが、どのようなURLで実行したのでしょうか。 ひとまず、サーバー環境(PHP,OS)の情報もご提示ください。
tacsheaven

2020/09/18 06:25

CakePHP のエラーログを確認するのが先ですかね……(logs/ 以下にある)
joywont

2020/10/20 05:21

すいません、もうAuthComponentで行うことにしました。 ご協力ありがとうございました。
guest

回答2

0

ドキュメントにちゃんと書かれています。読み進めてみましょう。

CakePHP Authentication 2.x Cookbook - Quick Start - 2.x

AuthenticationServiceProviderInterface で定義するメソッド getAuthenticationServiceを実装していないためにエラーが起きているかと思います。

投稿2020/10/22 13:13

nojimage

総合スコア959

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

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

0

自己解決

あまりにも解決に至らず、無駄な時間かけるより先に進みたいので、
非推奨ですがAuthComponentで行い、終了しました。

cakephp4のドキュメントはあまりにも情報がわかりにくく、バージョンと実際は異なることが多いと
どなたかのブログで拝見しましたが、その通りだと思いました。
色々と情報をくれた皆さん、ご協力感謝です。ありがとうございました。

投稿2020/10/20 05:24

joywont

総合スコア13

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

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

RikuSora

2021/05/08 10:34

同じ状況かもしれず気になったのでコメントさせていただきます。 私の場合rootユーザーでcomposerを使い Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? としてnを押してしまうと同じ状況となりました。 ユーザーをroot以外にしてサイドcomposer叩くと表示できました。 的はずれな回答でしたら失礼しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問