Kategorie: PHP
-
Syfmony 3.3. – Wie man ein Repository als Service injeziert mittels Dependency Injection
In Symfony 3 wird standardmäßig immer der EntityManager injected, um dann darüber das entsprechende Repository zur Verfügung zu bekommen. Meistens wird aber nur genau ein Repository benötigt und der Code und die Tests werden aufgebläht. Es gibt eine einfach Möglichkeit in der Configuration einen Service von einem Respository zu erstellen: service.repository.name: class: ‚AppBundle\Repository\MyEntity‘ factory: ‚Doctrine\ORM\EntityManagerInterface:getRepository’…
-
Projekt: baby-taschenrechner.de
Das gerade fertiggestellt Projekt baby-taschenrechner.de beschäftigt sich mit den Fragestellungen rund um die Entwicklung des eigenen Kindes: Wie groß wird mein Kind werden in x-Jahren Wie schwer wird mein Kind in x-Jahren Ist mein Kind zu schwer/zu dünn Welche Kleidergröße wird es wann tragen? Die Webseite soll Eltern dabei helfen herauszufinden, wann sie welche Kleidergröße…
-
Die REST Webservice Architur – ein Überblick mit PHP
[asa myBook]3864901200[/asa] Wenn man heutzutage einen Webservice bauen will, kommt man um REST nicht mehr herum. Als quasi Standard erfüllt es die Bedürfnisse an eine moderne Schnittstelle am besten, im Gegensatz zu den Alternativen aus der grauen Vergangenheit: RPC, DCOM, CORBA, RMI und SOAP. Was sind die Vorteile von REST? 1. Lose Kopplung REST Schnittstellen…
-
Projekt: Elasticsearch für XT-Commerce Shop Suche
Das letzte Projekt war sehr spannend, es handelte sich um eine Erweiterung des PHP Shop-Systems namens XT-Commerce bzw. des Derivats SEO-Commerce um eine Suche aktuellem Standards für Zeedee Berlin. Elasticsearch wurde auf einer eigene Amatzon MWS EC2 Instanz gehostet mit 1GB Ram und 1 CPU (sehr kostengünstig). Die folgende Funktionalität kann ganz einfach wieder deaktiviert…
-
Amazon automatische Preisanpassung Tool
Für einen Kunden habe ich gerade ein Tool entwickelt, mit dem man die Preise der eigenen Waren bei Amazon automatisch anpassen kann.Dabei werden die Angote der Konkurrenz analysiert nach Zustand der Ware und nach Seller Seriösität und dadurch ein fairer Preis bestimmt für die Ware. Es werden alle Daten, die über die API verfügbar sind…
-
Amazon MWS PHP: Compile Error: Redefinition of parameter $quotaMax
Die Amazon MWS Library hat zu Recht Probleme in PHP7.1 mit der Datei: /MarketplaceWebServiceProducts/Model/ResponseHeaderMetadata.php (line 31) Vorher: class MarketplaceWebServiceProducts_Model_ResponseHeaderMetadata { … public function __construct($requestId = null, $responseContext = null, $timestamp = null, $quotaMax = null, $quotaMax = null, $quotaResetsAt = null) { $this->metadata[self::REQUEST_ID] = $requestId; $this->metadata[self::RESPONSE_CONTEXT] = $responseContext; $this->metadata[self::TIMESTAMP] = $timestamp; $this->metadata[self::QUOTA_MAX] = $quotaMax; $this->metadata[self::QUOTA_REMAINING] =…
-
Run PHPUnit Unit and Integrations test with different configurations in PHPStorm
If you want to develop unit and integration tests with PHPStorm you can easily bootstrap your application and run your tests. But if you want to develop real unit tests in your local development enviroment without having a database connection or a cache, you need to make sure, that your application is configured differently, when…
-
Elasticsearch Subquery Scoring Optimization
If you want to build a search query in Easticsearch where you can give documents a bonus score depending on how often a property can be found in other documents – you need is a Subquery which is not supported by Elasticsearch, you need another better solution. An Example for a Subquery is the problem:…
-
PDOException: You cannot serialize or unserialize PDO instances
Beim Mocken von Objekten mit PHPunit kann es zur Fehlermeldung: PDOException: You cannot serialize or unserialize PDO instances kommen, immer dann, wenn im Constructor eine PDO Instanz injeziert wird. Dies kann unterbunden werden durch: class PDOMock extends PDO{ public function __construct(){} }
-
PHP Wie verwendet man password_verify, password_hash und password_needs_rehash richtig
Mit der ab PHP 5.5. eingeführten Passwort-Hash Funktionalität kann man das Problem umgehen, dass ständig neue Hash Funktionen benutzen werden müssen, weil die alte zu leicht knackbar ist. Bei bestehenden Projekten steht man dann an dem Punkt, wo man bestehenden Hashes in der Datenbank hat und diese nicht einfach neu hashen kann, weil man den…