Download the PHP package esit/fakertoolbox without Composer

On this page you can find all versions of the php package esit/fakertoolbox. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package fakertoolbox

Fakertoolbox

Beschreibung

Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, die es erlaubt direkt im DCA die Definition für Testdaten zu hinterlegen und dann mit einfachen Aufrufen per Faker Testdaten für einzelne Felder oder ganze Tabellenzeilen erstellen zu lassen.

Lizenz

Distributed under the LGPLv3 license. See LICENSE for more information.

Autor

e@sy Solutions IT: Patrick Froch [email protected]

Support

[email protected]

Voraussetzungen

Installation

Die Installation ist einfach über den Contao Manager möglich, dort nach esit/fakertoolbox suchen und installieren.

Einrichtung

Im DCA gibt es vier Einträge, die in das eval-Array eingefügt werden können:

fakerMethod

fakerMethod gibt die Methode an, die Faker für die Erstellung der Testdaten für dieses Feld verwenden soll. Es stehen alle Methoden zur Verfügung die Faker bietet. Eine Übersicht findet man unter: https://github.com/fzaninotto/Faker

Beispiel:

Es wird ein Vornamen erstellt, wenn ein Testwert für das Feld tl_member.firstname angefragt wird.

fakerParameter

Mit fakerParameter kann man Parameter für die Erstellungsmethode definieren, so kann man z.B. den Zahlenbereich eingrenzen.

Beispiel:

Dies gibt eine Zahl zwischen 1 und 9999 zurück, wenn ein Testwert für das Feld tl_member.id erstellt werden soll.

fakerOptional

Mit fakerOptional kann die Wahrscheinlichkeit angegeben werden, mit der ein Wert erzeugt und was sonst als Vorgabewert zurückgegeben wird.

Beispiel:

Gibt mit einer Wahrscheinlichkeit von 60% einen Vornamen und sonst einen Leerstring zurück.

fakerUnique

Ist fakerUnique auf true gesetzt, werden immer unterschiedliche Werte zurückgegeben. Ist dies nicht möglich, weil z.B. der Vorrat an zur Verfügung stehenden Elementen erschöpft ist, wird ein Fehler erzeugt (s. Modifiers).

Beispiel:

Bei dieser Konfiguration würde ein Fehler erzeugt, wenn keine neue Zahlen zwischen 1 und 3 mehr zurückgegeben werden können (also beim 4. Aufruf).

fakerSerial

Mit der Einstellung fakerSerial können serialisierte Daten erstellt werden. Da Contao Mehrfachbeziehungen auf diese Weise abbildet, ist dies in Test häufig anzutreffen. Die Einstellung muss ein Array mit zwei Zahlen enthalten. Die erste gibt die Mindestanzahl an Daten an, die erzeugt werden sollen, die zweite die Maximalzahl. Sollen auch leere Datensätze erzeugt werden, wird als leerer Datensatz ein Leerstings und nicht a:0:{} zurückgegeben, da dies auch das Vorgehen von Contao ist.

Beispiel:

In diesem Beispiel werden für jeden Eintrag 1 - 5 Zahlen erstellt und als serialisiertes Array zurückgegeben. Diese könnten z.B. den Ids der Mitgliedergruppen entsprechen.

Wichtig ist hier, dass nicht 0 bis 5 eingegeben werden sollte, da sonst relativ viele leere Datensätze erzeugt werden. Es würde zwar funktionieren, lässt sich aber über fakerOptional viel besser konfigurieren.

Verwendung

Fabrik für die Erstellung

Hat man die Einstellungen im DCA hinterlegt, kann man einfach die Testwerte erzeugen. Zunächst holt man sich die Fabrik.

Alternativ kann man den Service auch einfach per Dependency Injection beziehen.

ContaoFaker

Nun kann man sich den eigentlichen ContaoFaker geben lassen, in dem man die gewünschte Tabelle übergibt. Hierbei handelt es sich um eine Fassade, die das Sammeln der nötigen Informationen, sowie die Logik für die eigentliche Erstellung kapselt und der einfacheren Benutzung dient.

Testwerte

Für den Zugriff auf die Testwerte gibt es drei Wege. Man kann sich einzelne Werte geben lassen, in dem man einfach auf die Eigenschaft zugreift. Wichtig ist, dass nur auf Felder zugegriffen werden kann, für die eine fakerMethod definiert ist. Wird auf ein Feld zugegriffen, bei dem dies nicht der Fall ist, wird ein Fehler erzeugt.

Beispiel:

Man kann sich eine ganze Tabellenzeile geben lassen. Wichtig ist, dass nur für die Felder Werte erzeugt werden, bei denen eine fakerMethod definiert ist, die anderen Felder werden ignoriert.

Beispiel:

Zu guter Letzt, kann man sich eine beliebige Anzahl an Tabellenzeilen geben lassen, z.B um eine Testdatenbank zu befüllen. Es wird einfach die gewünschte Anzahl übergeben. Auch hier werden nur Testdaten für Felder erstellt, bei denen eine fakerMethod definiert ist.

Beispiel:

Eigene Provider

Eigene Provider können einfach über die Fassade registriert werden. So können spezielle Daten erzeugt werden (s. Faker Internals: Understanding Providers).

\Esit\Fakertoolbox\Classes\Provider\Internet::class muss durch den eigenen Provider ersetzt werden.

Mitgelieferte Provider

Zusätzlich zu den Providern, die Faker bietet, werden spezielle Provider für Contao bereitgestellt.

internetAddress

Der Provider liefert eine Internetadresse mit Protokoll zurück (z.B. https://www.example.org/). In 80 % der Aufrufe wird die Adresse mit www erstellt. Die zu verwendenden Protokolle (z.B. https:// oder http://) können angegeben werden. Da die Protokolle https:// und http:// Standard sind, müssen sie nicht angegeben werden, in diesem Fall kann der Eintrag entfallen.

Beispiel:

Komplettbeispiel

Erweiterung des DCAs

In diesem Beispiel wird das DCA der Tabelle tl_member um ein paar Testdaten erweitert.

Erstellen von 50 Datensätzen

Running the tests

Im Verzeichnis der Erweiterung folgenden Befehl aufrufen:


All versions of fakertoolbox with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2||^8.0
contao/core-bundle Version ^4.4
contao/manager-bundle Version ^4.4
contao/conflicts Version @dev
fakerphp/faker Version ^1.17
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package esit/fakertoolbox contains the following files

Loading the files please wait ....