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

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

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

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

Q&A

1回答

468閲覧

Cakephp ソーシャルプラグインについて

tranders1990

総合スコア25

CakePHP

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

0グッド

0クリップ

投稿2017/08/23 07:41

編集2017/08/23 07:57

CakePHP実践入門2の

ソーシャル連携でTwitterとCakePHPの連携をしようと思って本の内容に沿って作業しましたが
本に書いてある通り、ログインページにいきません。

何が悪いのでしょうか。

bootstrap.phpとdatabase.phpとAppControllerの設定・ddefault.ctpの設定も行いました。

Webサーバーのアパッチにはエラーログがでてきませんが

Cakephpのappのtmpファイルに格納されているerrorlogには以下の通りで出ています。

cakephp

1Request URL: /cakephp2/twitter/ 2Stack Trace: 3#0 C:\xampp\htdocs\cakephp2\lib\Cake\Controller\ComponentCollection.php(53): ComponentCollection->load('TwitterKit.Twit...', Array) 4#1 C:\xampp\htdocs\cakephp2\lib\Cake\Controller\Controller.php(644): ComponentCollection->init(Object(TwitterController)) 5#2 C:\xampp\htdocs\cakephp2\lib\Cake\Routing\Dispatcher.php(188): Controller->constructClasses() 6#3 C:\xampp\htdocs\cakephp2\lib\Cake\Routing\Dispatcher.php(167): Dispatcher->_invoke(Object(TwitterController), Object(CakeRequest)) 7#4 C:\xampp\htdocs\cakephp2\app\webroot\index.php(118): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) 8#5 {main} 92017-08-23 16:31:22 Error: [MissingComponentException] Component class TwitterComponent could not be found. 10Exception Attributes: array ( 11 'class' => 'TwitterComponent', 12 'plugin' => 'TwitterKit', 13) 14Request URL: /cakephp2/twitter/ 15Stack Trace: 16#0 C:\xampp\htdocs\cakephp2\lib\Cake\Controller\ComponentCollection.php(53): ComponentCollection->load('TwitterKit.Twit...', Array) 17#1 C:\xampp\htdocs\cakephp2\lib\Cake\Controller\Controller.php(644): ComponentCollection->init(Object(TwitterController)) 18#2 C:\xampp\htdocs\cakephp2\lib\Cake\Routing\Dispatcher.php(188): Controller->constructClasses() 19#3 C:\xampp\htdocs\cakephp2\lib\Cake\Routing\Dispatcher.php(167): Dispatcher->_invoke(Object(TwitterController), Object(CakeRequest)) 20#4 C:\xampp\htdocs\cakephp2\app\webroot\index.php(118): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) 21#5 {main} 22 23コード

こちらがソースコードです。

cakephp

1<?php 2// /app/Controller/TwitterController.php 3 4class TwitterController extends Controller{ 5public $components = array( 6'Session', 7'Auth' => array( 8//認証の設定 9'authenticate' => array( 10'all' => array( 11'fields' => array( 12'username' => 'id', 13'password' => 'pass', 14), 15), 16'TwitterKit.Twitter0auth', 17), 18//ログインURL 19'loginAction' => array( 20'plugin' => 'twitter_kit', 21'controller' => 'users', 22'action ' => 'login', 23), 24), 25'TwitterKit.Twitter', 26); 27} 28コード

出力画面はこちらになります。
イメージ説明

わかる方がいらっしゃいましたら、ご回答よろしくお願いいたします。

Cakephpのバージョンは2.10.1です。

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

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

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

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

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

m.ts10806

2017/08/23 07:49

プログラムコード(およびエラーメッセージ)は```で囲ってください。(わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください)。マークダウン部分が上手くいっていないようです。質問編集画面ではプレビューが表示されているのでそちらを確認しながら調整してみてください。
m.ts10806

2017/08/23 07:49

またtwitterとの連携部分のソースコードも提示願います。エラーメッセージだけでは判断できない部分も多々あります。
tranders1990

2017/08/23 07:53

お世話になります。追記いたしました。
guest

回答1

0

コンポーネントがない、というエラーなので、該当のプラグイン?がロードされていないのではないでしょうか?
プラグインは、app/Config/bootstrap.php 内で、手動でロードする必要があります。
どう設定したらいいかはフォルダ構成を見ないとわかりませんが、
少なくとも

PHP

1CakePlugin::loadAll();

とやれば全部読みこみます。

参考
https://book.cakephp.org/2.0/ja/plugins/how-to-install-plugins.html

投稿2017/08/25 08:07

CodeLab

総合スコア1939

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問