PHP: Créer une date / timestamp avec strtotime en définissant l’heure

MacBook avec code sur un bureau

Tout le monde connaît la fonction strtotime. Avec celle-ci on peut par exemple récupérer la date d’il y a 2 semaines, strtotime(‘-2 week’); ou d’il y a un an strtotime(‘-1 year’); Ce qui est intéressant, c’est que l’on peut récupérer la date d’il y a 2 semaines en définissant l’heure, par exemple minuit strtotime(‘-2 week … Lire la suite

PHPUnit – Modifier une variable privée ou protégée dans un mock

Code sur écran d'ordinateur

En utilisant des mocks il est souvent nécessaire de donner une valeur à une variable private ou protected. Pour ce faire il suffit d’utiliser la classe Reflection. $basket = $this->getMockBuilder(‘Basket’) ->disableOriginalConstructor() ->getMock(); $basketReflection = new ReflectionClass($basket); $sessionId = $basketReflection->getProperty(‘sessionId’); $sessionId->setAccessible(true); $sessionId->setValue($basket, ‘abc’); Ainsi la valeur de sessionId dans notre Mock sera ‘abc’. Depuis PHP 8.1, … Lire la suite

Yii : créer une relation personnalisée entre deux tables

MacBook avec code sur un bureau

Pour faire une relation personnalisée entre deux tables dans un modèle, il est possible d’ajouter une option supplémentaire dans la relation dans laquelle on indique quelle clé étrangère doit être utilisée avec quel champ. public function relations() { return array( ‘nomRelation’ => array( self::HAS_ONE, ‘otherTable,  », ‘on’=>’thisTable.fk_otherTable = otherTable.id’ ), ); }

Catégories Yii

PHPUnit comment mocker / simuler un objet et des méthodes

MacBook avec code sur un bureau

Lorsque l’on commence à utiliser PHPUnit, il arrive fréquemment que l’on se retrouve face au besoin de simuler une méthode ou un objet. Heureusement PHPUnit a quelques méthodes qui peuvent être très utiles. Comment simuler un objet La manière la plus simple de créer un objet mocké $product = $this->getMockBuilder(‘Product’) ->getMock(); ou $product = $this->getMockBuilder(‘Product’) … Lire la suite

Ubuntu comment avoir un HotSpot avec un Lenovo

MacBook avec code sur un bureau

Avec la nouvelle version d’Ubuntu, il peut arriver que la fonction pour créer un Hotspot ne fonctionne pas parfaitement sur un ordinateur de type Lenovo. La solution est d’utiliser ap-hotspot. sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install ap-hotspot Pour démarrer ou stopper ap-hotspot sudo ap-hotspot start sudo ap-hotspot stop Pour configurer sudo ap-hotspot … Lire la suite

PHP – DOMDocument et XPath pour parser un gros fichier XML

Code sur écran d'ordinateur

Lorsque nous devons traiter un XML très grand, il n’est malheureusement pas possible d’utiliser SimpleXML. Heureusement pour cela, nous pouvons utiliser DOMDocument. Pour ce faire, il suffit de charger le fichier voulu et d’initialiser xpath sur celui-ci avec DOMXPath. $document = new DOMDocument(); $document->load($file); $xpath = new DOMXPath($document); Si le XML en question a un … Lire la suite

Catégories PHP

PHP et SimpleXML

MacBook avec code sur un bureau

Lorsque l’on veut traiter un fichier XML en PHP, il y a deux possibilités: soit l’on utilise SimpleXML, soit on passe par DOMDocument. Dans cet article je traiterai plus spécifiquement de SimpleXML. Pour charger un fichier, il suffit d’utiliser la méthode simplexml_load_file $xml = simplexml_load_file($file); En faisant ainsi, vous récupérez un SimpleXMLElement. Si le XML … Lire la suite

PHP – Comment charger un fichier en PHP depuis un formulaire

MacBook avec code sur un bureau

Pour savoir comment charger un fichier en PHP depuis un formulaire, il faut commencer par formater correctement le formulaire. Il est obligatoire d’utiliser la méthode post ainsi que l’enctype multipart/form-data, sinon PHP ne recevra pas les données nécessaires. <form action= »/ » method= »post » enctype= »multipart/form-data »> <input type= »file » name= »namefile » /> <input type= »submit » value= »ok » /> </form> En PHP, pour récupérer … Lire la suite