Code Monkey home page Code Monkey logo

symfony2-book's People

Contributors

hidenorigoto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

symfony2-book's Issues

P.270 リスト9-13 BlogArticleLoaderクラスが動作しない

P.264でバージョンを指定せずにcomposerでhautelook/alice-bundleをインストールしているため、書籍のバージョン(0.2; https://github.com/hidenorigoto/symfony2-book/blob/53be5f8d99fb9e2f87cb82011c31f0a5aec68c65/composer.lock#L2581-L2582)と現在インストールされるバージョン(v1.1.0)が変わってしまっています。

その影響で、APIが変わってしまったようで、書籍のリスト9-13は動作しません。

$ php app/console doctrine:fixtures:load
Careful, database will be purged. Do you want to continue y/N ?y

Fatal error: Class 'Hautelook\AliceBundle\Alice\DataFixtureLoader' not found in ...

v1.1.0で動作するように直そうかと思いましたが、変更が大きいようで、ちょっとよくわかりませんでした。

p.32 起動しない

教科書通りにすすめていきphp app/console server:startをコマンドプロンプトから実行したところ
[ERROR]This command needs the pcntl extension to runと表示されます。
WEBでも調べたのですがどのようにインストールしたらいいのか分からず
次へ進めません。同じ環境かの方も同様の問題がおこるのではないでしょうか。

P.32 php app/console server:start

手許の環境(MAMP 3.4)では以下のようになりました。ご参考まで。

$ php app/console server:start
This command needs the pcntl extension to run.
You can either install it or use the server:run command instead to run the built-in web server.
Do you want to start server:run immediately? [Yn] 
Server running on http://127.0.0.1:8000

Quit the server with CONTROL-C.

symfony/phpunit-bridge

Symfony 2.7をインストールすると、symfony/phpunit-bridgeが含まれています。

$ symfony new classic-symfony 2.7
$ cd classic-symfony/
$ composer show -i | grep symfony
symfony/assetic-bundle               v2.7.1  Integrates Assetic into Symfony2
symfony/monolog-bundle               v2.8.2  Symfony MonologBundle
symfony/phpunit-bridge               v2.7.7  Symfony PHPUnit Bridge
symfony/swiftmailer-bundle           v2.3.8  Symfony SwiftmailerBundle
symfony/symfony                      v2.7.7  The Symfony PHP framework

しかし、ここのサンプルコードには含まれていないようです。

"require-dev": {

P.50 TimedTwigEngine

6行目

TimedTwigEngineというクラスが…

と記述されていますが、リスト2-7にそのようなクラスはありません。

P.168 お問い合わせ検索機能の作成でエラー

初めまして”P.168 お問い合わせ検索機能”のエラーが発生し行き詰まってしまったのでご教授願います。

リスト6-16~18までを実装し、管理画面から”お問い合わせ管理"をクリックすると

Undefined method 'findAllByKeyword'. The method name must start with either findBy or findOneBy!
500 Internal Server Error - BadMethodCallException

というエラーが表示されてしまいます。

P167の問い合わせ編集画面までは上手く動作していたので、環境は問題ないかと思っています。

よろしくお願いします。

●環境
Windows10
Xampp V3.2.2
Symfony V2.8.9

P.273 php phpunit.phar -c app src/AppBundle/Tests/Controller/BlogControllerTest.php

よくわかりませんが、手許の環境だと、以下のエラーが出ましたので報告しておきます。

$ php phpunit.phar -c app src/AppBundle/Tests/Controller/BlogControllerTest.php 
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.

E                                                                   1 / 1 (100%)

Time: 736 ms, Memory: 10.00Mb

There was 1 error:

1) AppBundle\Test\Controller\BlogControllerTest::ブログ記事一覧が表示されること
Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: The file ".../classic-symfony/src/AppBundle/DependencyInjection/../Resources/config/services.yml" does not contain valid YAML.

.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:323
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:44
.../classic-symfony/src/AppBundle/DependencyInjection/AppExtension.php:19
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php:55
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php:39
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php:107
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:570
.../classic-symfony/app/bootstrap.php.cache:2633
.../classic-symfony/app/bootstrap.php.cache:2411
.../classic-symfony/vendor/liip/functional-test-bundle/Test/WebTestCase.php:149
.../classic-symfony/vendor/liip/functional-test-bundle/Test/WebTestCase.php:252
.../classic-symfony/src/AppBundle/Tests/Controller/BlogControllerTest.php:15

Caused by
Symfony\Component\Yaml\Exception\ParseException: The reserved indicator "@" cannot start a plain scalar; you need to quote the scalar at line 7 (near "factory:    [@doctrine.orm.entity_manager, getRepository]").

.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:321
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:44
.../classic-symfony/src/AppBundle/DependencyInjection/AppExtension.php:19
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php:55
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php:39
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php:107
.../classic-symfony/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:570
.../classic-symfony/app/bootstrap.php.cache:2633
.../classic-symfony/app/bootstrap.php.cache:2411
.../classic-symfony/vendor/liip/functional-test-bundle/Test/WebTestCase.php:149
.../classic-symfony/vendor/liip/functional-test-bundle/Test/WebTestCase.php:252
.../classic-symfony/src/AppBundle/Tests/Controller/BlogControllerTest.php:15

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

以下のように修正したところ、エラーは解消しました。

--- a/src/AppBundle/Resources/config/services.yml
+++ b/src/AppBundle/Resources/config/services.yml
@@ -4,6 +4,6 @@ parameters:
 services:
     app.inquiry_repository:
         class:      AppBundle\Entity\InquiryRepository
-        factory:    [@doctrine.orm.entity_manager, getRepository]
+        factory:    ['@doctrine.orm.entity_manager', getRepository]
         arguments:
             - AppBundle\Entity\Inquiry

P.157 脚注

コマンド処理前のクラスファイルは、先頭に~が付いたファイル名で…

とありますが、手許の環境では末尾に~が付きました。

$ php app/console doctrine:generate:entities AppBundle:Inquiry
Generating entity "AppBundle\Entity\Inquiry"
  > backing up Inquiry.php to Inquiry.php~
  > generating AppBundle\Entity\Inquiry

P.200〜202 json取得結果の要素が空で返る

DBに4件登録状態で、API結果が下記のように表示されます。
{"0":{},"1":{},"2":{},"3":{}}
件数は合っているのに、中身が空、という現象が発生しました。
P199のコマンド実行では正しくデータ取得出来ています。
このような場合、どこが原因か思い当たりますでしょうか?

■動作環境
php:5.5.31

p.30コマンドが実行できない

ページ:30
コンソールコマンドphp app/consoleを実行すると、Could not open input file: app/consoleと表示され実行されません。参考書296ページの開発環境は、行っておりません。その影響でしょうか?

P.155 リスト6-5 findAll()

indexAction()の中のコードが以下のようになっています。

$inquiryList = $inquiryRepository->findAll([], ['id' => 'DESC']);

しかし、本来の意図としては、以下のようにfindBy()ではないかと思います。

$inquiryList = $inquiryRepository->findBy([], ['id' => 'DESC']);

文中の解説には、

すべてのエンティティを降順で取得…

とありますので。

ただし、P.156の図6-4は、降順にはなっていません。それを正しいとすれば、

$inquiryList = $inquiryRepository->findAll();

でしょうか。

P.119 図4-14 お問い合わせ種別

スクリーンショットで

●お問い合わせ種別: 0

となっていますが、P.117のリスト4-21では

●お問い合わせ種別: {% if data.type == 0 %}公演について
{% else %}その他
{% endif %}

となっているため整合していません。

[p159~160]バリデーショングループ設定後,一般ユーザーのお問い合わせ画面でエラー

p160ではバリデーショングループadminを設定後に、一般ユーザーのお問い合わせ画面から送信すると、「問題なく動作するはずです」とありますが、

p157~158にてカラム(process_status,process_memo)追加時に当該カラムがnull許可の設定になっていないため、未入力の場合insertに失敗します。
なお、当該カラムをnull許可にした場合は、正常に動作しました。

参考)エラーメッセージ

An exception occurred while executing 'INSERT INTO inquiry (process_status, process_memo, name, email, tel, type, content) VALUES (?, ?, ?, ?, ?, ?, ?)' with params [null, null, "\u3063\u3063d", "[email protected]", null, 0, "ssss"]:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'process_status' cannot be null

環境情報
Symfony 2.7.8

P.56 symfony newコマンド

$ symfony new classic-symfony2.7

となっていますが、スペースが抜けてしまってます。

$ symfony new classic-symfony 2.7

「Windowsの場合」も同様です。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.