INITAL Version Camp Munich 2018
This commit is contained in:
commit
52810e380f
4 changed files with 182 additions and 0 deletions
11
.gitignore
vendored
Normal file
11
.gitignore
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
composer.lock
|
||||||
|
vendor
|
||||||
|
index.php
|
||||||
|
typo3
|
||||||
|
/Tests
|
||||||
|
/Results
|
||||||
|
infection*
|
||||||
|
phpunit.xml.dist
|
||||||
|
debug-log.txt
|
||||||
|
per-mutator.md
|
||||||
|
summary-log.txt
|
54
Classes/Controller/FrontendUserController.php
Normal file
54
Classes/Controller/FrontendUserController.php
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
<?php
|
||||||
|
namespace Codappix\ExtbaseTheGoodPartsTalk\Controller;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 Daniel Siepmann <coding@daniel-siepmann.de>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
use TYPO3\CMS\Extbase\Domain\Model\FrontendUser;
|
||||||
|
use TYPO3\CMS\Extbase\Domain\Repository\FrontendUserRepository;
|
||||||
|
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lists and enables editing of frontend users.
|
||||||
|
*/
|
||||||
|
class FrontendUserController extends ActionController
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var FrontendUserRepository
|
||||||
|
*/
|
||||||
|
protected $frontendUserRepository;
|
||||||
|
|
||||||
|
public function __construct(FrontendUserRepository $frontendUserRepository)
|
||||||
|
{
|
||||||
|
$this->frontendUserRepository = $frontendUserRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function indexAction()
|
||||||
|
{
|
||||||
|
$this->view->assign('frontendUsers', $this->frontendUserRepository->findAll());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param FrontendUser $frontendUser
|
||||||
|
*/
|
||||||
|
public function showAction(FrontendUser $frontendUser)
|
||||||
|
{
|
||||||
|
$this->view->assign('frontendUser', $frontendUser);
|
||||||
|
}
|
||||||
|
}
|
26
composer.json
Normal file
26
composer.json
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"name": "codappix/testing_talk",
|
||||||
|
"description": "Example Extension to show testing",
|
||||||
|
"type": "typo3-cms-extension",
|
||||||
|
"license": "GPL-2.0-or-later",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Daniel Siepmann",
|
||||||
|
"email": "coding@daniel-siepmann.de"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Codappix\\ExtbaseTheGoodPartsTalk\\": "Classes/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"typo3/cms-core": "^8.7",
|
||||||
|
"typo3/testing-framework": "~2.0.4"
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"typo3/cms": {
|
||||||
|
"web-dir": "web"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
91
readme.rst
Normal file
91
readme.rst
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
Extbase the good parts
|
||||||
|
======================
|
||||||
|
|
||||||
|
Most of the times Extbase is not the best choice.
|
||||||
|
|
||||||
|
Why?
|
||||||
|
|
||||||
|
Because nowadays we have:
|
||||||
|
|
||||||
|
* Form Framework
|
||||||
|
|
||||||
|
* FLUIDTEMPLATE / Standalone Fluid
|
||||||
|
|
||||||
|
* DataProcessors
|
||||||
|
|
||||||
|
But if you need Extbase, it offers some good parts, which will be explained below
|
||||||
|
with working unit tests.
|
||||||
|
|
||||||
|
.. contents:: :local:
|
||||||
|
|
||||||
|
Start
|
||||||
|
-----
|
||||||
|
|
||||||
|
Execute the following::
|
||||||
|
|
||||||
|
git clone https://github.com/DanielSiepmann/extbase-the-good-parts.git
|
||||||
|
cd extbase-the-good-parts
|
||||||
|
|
||||||
|
Clean everything::
|
||||||
|
|
||||||
|
rm -rf composer.lock vendor web Results
|
||||||
|
|
||||||
|
Installation development dependencies using composer::
|
||||||
|
|
||||||
|
composer install
|
||||||
|
|
||||||
|
Links:
|
||||||
|
|
||||||
|
* https://docs.typo3.org/typo3cms/ExtbaseFluidBook/
|
||||||
|
|
||||||
|
* https://docs.typo3.org/typo3cms/ExtbaseGuide/
|
||||||
|
|
||||||
|
Dependency Injection
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* Method injection
|
||||||
|
|
||||||
|
* Annotation
|
||||||
|
|
||||||
|
* Constructor
|
||||||
|
|
||||||
|
See:
|
||||||
|
|
||||||
|
* https://daniel-siepmann.de/Posts/2017/2017-08-17-typo3-injection.html
|
||||||
|
|
||||||
|
* https://daniel-siepmann.de/Posts/Migrated/2015-10-20-extbase-inject-settings.html
|
||||||
|
|
||||||
|
Property Mapping
|
||||||
|
----------------
|
||||||
|
|
||||||
|
See :file:`web/typo3/sysext/extbase/ext_localconf.php`,
|
||||||
|
https://docs.typo3.org/typo3cms/ExtbaseFluidBook/10-Outlook/4-Property-mapping.html
|
||||||
|
|
||||||
|
Validation
|
||||||
|
----------
|
||||||
|
|
||||||
|
Command Controllers
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
TypoScript Configuration
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
See https://docs.typo3.org/typo3cms/ExtbaseFluidBook/b-ExtbaseReference/Index.html#typoscript-configuration
|
||||||
|
|
||||||
|
Settings array
|
||||||
|
--------------
|
||||||
|
|
||||||
|
|
||||||
|
ObjectAccess from Fluid
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
See
|
||||||
|
|
||||||
|
* :file:`web/typo3/sysext/fluid/Classes/Core/Variables/CmsVariableProvider.php`
|
||||||
|
|
||||||
|
* :file:`web/typo3/sysext/extbase/Classes/Reflection/ObjectAccess.php`
|
||||||
|
|
||||||
|
Configuration Mapping DB
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
See https://docs.typo3.org/typo3cms/ExtbaseFluidBook/b-ExtbaseReference/Index.html#persistence
|
Loading…
Reference in a new issue