From 6085264b27028914a3c19e850c30d337e7049dc7 Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Tue, 21 Aug 2018 08:39:41 +0200 Subject: [PATCH] TASK: Fix some small bugs AND add autoloading for non composer --- CodeExamples/composer.json | 2 +- CodeExamples/composer.lock | 201 +++++++++++------- .../example_extension/ext_emconf.php | 5 + Documentation/source/StartNewExtension.rst | 21 ++ Documentation/source/Views.rst | 9 + 5 files changed, 163 insertions(+), 75 deletions(-) diff --git a/CodeExamples/composer.json b/CodeExamples/composer.json index d74b3c3..c173d5f 100644 --- a/CodeExamples/composer.json +++ b/CodeExamples/composer.json @@ -37,7 +37,7 @@ "web-dir": "public" }, "helhum/typo3-console": { - "comment": "This option is not needed ay more for helhum/typo3-console 5.x", + "comment": "This option is not needed any more for helhum/typo3-console 5.x", "install-extension-dummy": false } }, diff --git a/CodeExamples/composer.lock b/CodeExamples/composer.lock index adff954..0aaa60b 100644 --- a/CodeExamples/composer.lock +++ b/CodeExamples/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ad9281cf887af293ceb9e3382450f811", + "content-hash": "42999c7d3164f0169854c019ac9e104b", "packages": [ { "name": "cogpowered/finediff", @@ -59,30 +59,30 @@ }, { "name": "doctrine/annotations", - "version": "v1.6.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5" + "reference": "54cacc9b81758b14e3ce750f205a393d52339e97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", - "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97", + "reference": "54cacc9b81758b14e3ce750f205a393d52339e97", "shasum": "" }, "require": { "doctrine/lexer": "1.*", - "php": "^7.1" + "php": "^5.6 || ^7.0" }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^6.4" + "phpunit/phpunit": "^5.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { @@ -123,41 +123,37 @@ "docblock", "parser" ], - "time": "2017-12-06T07:11:42+00:00" + "time": "2017-02-24T16:22:25+00:00" }, { "name": "doctrine/cache", - "version": "v1.7.1", + "version": "v1.6.2", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", - "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b", + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b", "shasum": "" }, "require": { - "php": "~7.1" + "php": "~5.5|~7.0" }, "conflict": { "doctrine/common": ">2.2,<2.4" }, "require-dev": { - "alcaeus/mongo-php-adapter": "^1.1", - "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^5.7", - "predis/predis": "~1.0" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { @@ -197,24 +193,24 @@ "cache", "caching" ], - "time": "2017-08-25T07:02:50+00:00" + "time": "2017-07-22T12:49:21+00:00" }, { "name": "doctrine/collections", - "version": "v1.5.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf" + "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf", - "reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf", + "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba", + "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^5.6 || ^7.0" }, "require-dev": { "doctrine/coding-standard": "~0.1@dev", @@ -264,7 +260,7 @@ "collections", "iterator" ], - "time": "2017-07-22T10:37:32+00:00" + "time": "2017-01-03T10:49:41+00:00" }, { "name": "doctrine/common", @@ -412,20 +408,20 @@ }, { "name": "doctrine/inflector", - "version": "v1.3.0", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462", + "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.2" @@ -433,7 +429,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -475,7 +471,7 @@ "singularize", "string" ], - "time": "2018-01-09T20:05:19+00:00" + "time": "2017-07-22T12:18:28+00:00" }, { "name": "doctrine/instantiator", @@ -871,16 +867,16 @@ }, { "name": "helhum/typo3-console", - "version": "5.5.0", + "version": "5.5.1", "source": { "type": "git", "url": "https://github.com/TYPO3-Console/TYPO3-Console.git", - "reference": "d8d964b90eb18a126c5f28c62e40edcabb67097c" + "reference": "760c8ef13f9416aa879daeeac3c6d9b730407c2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/d8d964b90eb18a126c5f28c62e40edcabb67097c", - "reference": "d8d964b90eb18a126c5f28c62e40edcabb67097c", + "url": "https://api.github.com/repos/TYPO3-Console/TYPO3-Console/zipball/760c8ef13f9416aa879daeeac3c6d9b730407c2f", + "reference": "760c8ef13f9416aa879daeeac3c6d9b730407c2f", "shasum": "" }, "require": { @@ -966,7 +962,7 @@ "console", "typo3" ], - "time": "2018-07-17T10:28:02+00:00" + "time": "2018-08-17T15:21:20+00:00" }, { "name": "helhum/typo3-console-plugin", @@ -1280,20 +1276,21 @@ }, { "name": "symfony/console", - "version": "v4.1.3", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f" + "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f", - "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f", + "url": "https://api.github.com/repos/symfony/console/zipball/6b217594552b9323bcdcfc14f8a0ce126e84cd73", + "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -1302,11 +1299,11 @@ }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", + "symfony/config": "~3.3|~4.0", "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0" + "symfony/process": "~3.3|~4.0" }, "suggest": { "psr/log-implementation": "For using the console logger", @@ -1317,7 +1314,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1344,29 +1341,85 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:24:31+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { - "name": "symfony/finder", - "version": "v4.1.3", + "name": "symfony/debug", + "version": "v3.4.14", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068" + "url": "https://github.com/symfony/debug.git", + "reference": "d5a058ff6ecad26b30c1ba452241306ea34c65cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068", - "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "url": "https://api.github.com/repos/symfony/debug/zipball/d5a058ff6ecad26b30c1ba452241306ea34c65cc", + "reference": "d5a058ff6ecad26b30c1ba452241306ea34c65cc", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^5.5.9|>=7.0.8", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/http-kernel": "~2.8|~3.0|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2018-07-26T11:19:56+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.4.14", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/8a84fcb207451df0013b2c74cbbf1b62d47b999a", + "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" } }, "autoload": { @@ -1393,7 +1446,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:24:31+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1514,25 +1567,25 @@ }, { "name": "symfony/process", - "version": "v4.1.3", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56" + "reference": "0414db29bd770ec5a4152683e655f55efd4fa60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", - "reference": "f01fc7a4493572f7f506c49dcb50ad01fb3a2f56", + "url": "https://api.github.com/repos/symfony/process/zipball/0414db29bd770ec5a4152683e655f55efd4fa60f", + "reference": "0414db29bd770ec5a4152683e655f55efd4fa60f", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1559,24 +1612,24 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:24:31+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/yaml", - "version": "v4.1.3", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c" + "reference": "810af2d35fc72b6cf5c01116806d2b65ccaaf2e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", - "reference": "46bc69aa91fc4ab78a96ce67873a6b0c148fd48c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/810af2d35fc72b6cf5c01116806d2b65ccaaf2e2", + "reference": "810af2d35fc72b6cf5c01116806d2b65ccaaf2e2", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": "^5.5.9|>=7.0.8", "symfony/polyfill-ctype": "~1.8" }, "conflict": { @@ -1591,7 +1644,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -1618,7 +1671,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:24:31+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "typo3-console/composer-auto-commands", diff --git a/CodeExamples/localPackages/example_extension/ext_emconf.php b/CodeExamples/localPackages/example_extension/ext_emconf.php index 6995c83..7602002 100644 --- a/CodeExamples/localPackages/example_extension/ext_emconf.php +++ b/CodeExamples/localPackages/example_extension/ext_emconf.php @@ -15,4 +15,9 @@ $EM_CONF['example_extension'] = [ 'php' => '7.0.0-7.2.999', ], ], + 'autoload' => [ + 'psr-4' => [ + 'Workshop\\ExampleExtension\\' => 'Classes', + ] + ], ]; diff --git a/Documentation/source/StartNewExtension.rst b/Documentation/source/StartNewExtension.rst index 33cd710..accaa66 100644 --- a/Documentation/source/StartNewExtension.rst +++ b/Documentation/source/StartNewExtension.rst @@ -31,6 +31,10 @@ or via composer. Oldschool ^^^^^^^^^ +.. todo:: + + Add note about autoloading. + Copy the extension to :file:`typo3conf/ext/`, and head over to *Extension Manager* to activate the extension. @@ -60,3 +64,20 @@ extension an composer package and allow the installation: :language: json Thanks due ``typo3-console/composer-auto-commands`` our extension is activated already. + +Autoloading +----------- + +Using composer, TYPO3 does not do any special. The autoloading is provided by +composer and can be configured as documented by composer. + +If you are not using composer, you should provide autoloading information inside +:file:`ext_emconf.php`: + +.. literalinclude:: ../../CodeExamples/localPackages/example_extension/ext_emconf.php + :language: php + :lines: 1-3,18- + +There you can follow the composer autoloading configuration. + +You can find the composer documentation about autoloading at https://getcomposer.org/doc/04-schema.md#autoload . diff --git a/Documentation/source/Views.rst b/Documentation/source/Views.rst index 66bcf54..751f9ee 100644 --- a/Documentation/source/Views.rst +++ b/Documentation/source/Views.rst @@ -44,6 +44,15 @@ Do not forget to remote the ``return 'Hello world!';`` from our controller. We should now see our "Hello World!". +Sections +-------- + +ViewHelper +---------- + +Partials and Layouts +-------------------- + Configuration -------------