- Mar 13, 2016
Abbildung 1, Vim mit Editor Tab und location list.Bei der Statischen Code Analyse (englisch linting), welche den den White-Box-Test-Verfahren zugeordnet ist, wird der Quellcode einer Software auf seine Beschaffenheit überprüft.
Hierzu gehört z.B. neben dem eigentlichen Linting, in PHP mit z.B. php -l
oder dem Tool phplint die Überprüfung von Coding-Standards oder das Erkennen von potenziellen Problemem bzw. suboptimalen Code wie z.B. ungenutzen Variablen, Properties oder Funktionen, zu hoher Komplexität (z.B. in Zusammenhang mit Wartbarkeit) und die Erkennung möglicher Fehler.
In der Programmiersprache PHP werden hierfür die Werkzeuge PHP_CodeSniffer und PHP Mess Detector genutzt, welche sich bequem in IDE’s wie PHPStorm integrieren lassen.
Aber wie schaut es mit einem scheinbar betagtem und angestaubtem UNIX-Editor wie dem VIM aus?
Natürlich geht das auch im VIM! Wie zeigt dieser Post.
Weiterlesen
- Jun 14, 2015
Nach fast einer Dekade mit eigenen Linux-Root-Servern, bin ich mit meinen Domains nach uberspace umgezogen und überlasse das Root-Sein jetzt anderen und zwar Jonas Pasche und seinem Team.
Ich habe noch Zugriff auf eine Shell und jede Menge Software zu Verfügung, so dass ich auch nicht wirklich was vermisse (Bis vielleicht manchmal die Allmacht… xD).
Uberspace? Uberspace beschreibt sich auf seiner Seite selbst so:
Uberspace.de ist eine Plattform von Technikern für Techniker und alle, die es werden wollen. Wir machen Hosting für Kommandozeilenliebhaber, Datenschützer, Kontrollebehalter, Unixfreunde, Selbermacher, Waszusagenhaber. Und wenn es mal klemmt, stehen dir erfahrene Linux-Admins zur Seite.
Dem ist meiner Meinung nach eigentlich nur noch das flexible Preismodell hinzuzufügen, bei dem Du den Preis selbst wählen und anpassen kannst.
Hier beschreibe ich, wie meine Drupal6-Site netzaffe.de ein neues Zuhause bezieht (lässt sich wahrscheinlich ohne viel Anpassung auch auf Drupal 7 anwenden) und Mail- und Webserver für die gleichnamige Domain aufgeschaltet werden.
Weiterlesen
- Feb 28, 2015
PHUnit und PEAR
Während der Installation von der benötigten Pakate für das PHING-Drupal-Templatehttps://github.com/reinblau/phing-drupal-build, einer XML-Build-Datei für ein Phing-Build-System für Drupal-Projekte als zentraler Bestandteil eines PHING-Drupal-Jobshttp://reload.github.io/jenkins-drupal-template/ für den Continous Integrationhttp://de.wikipedia.org/wiki/Kontinuierliche_Integration Server Jenkinshttp://jenkins-ci.org/ lief ich in einer längere Fehlersuche. Zwei Pakete die durch pear.phpunit.de bereitgestellt werden, phpcpdhttps://github.com/sebastianbergmann/phpcpd, ein PHP Copy n Paste Detector und phplochttps://github.com/sebastianbergmann/phploc, ein Tool für Code-Metriken sollen laut den Anforderungenhttp://reload.github.io/phing-drupal-template/ via PEAR installiert werden.
pear channel-discover pear.phpunit.de
Aber schon die sog. “Channel discovery”, vergleichbar mit einem apt-get update
nach einer Erweiterung der Repositories schlägt fehl…
Error: No version number found in <channel> tag Discovering channel pear.phpunit.de over http:// failed with message: channel-add: invalid channel.xml file
Trying to discover channel pear.phpunit.de over https:// instead Error: No version number found in <channel> tag
Discovery of channel "pear.phpunit.de" failed (channel-add: invalid channel.xml file) </channel></channel>
Weiterlesen
- Oct 10, 2014
Zur Dokumentation von Klassenvariablen, auch Properties oder Member genannt wird in Doxygen (u.a.) und PHPDoc (phpDocumentor 2) das Tag @var
verwendet.
In PHPDoc wird die folgende Notation verwendet, diese wird so auch in Drupals Coding-Standards beschrieben:
/**
* Passed command line options
* @var string
*/
protected $commandLineOptions;
…welche in Doxygen leider weder mit Typ noch mit dem zusätzlichen Kommentar angezeigt wird.

Weiterlesen
- Jan 15, 2013
In Zeile 6, registriere ich hier einen Menü-Pfad mit einer sog. Wildcard, also einem Platzhalter.
Das bedeutet in diesem Fall, dass während der Pfad-Anteil example/ fix ist, dass der zweite Pfad-Anteil %node_type_nid, wie hoffentlich schon durch seine Benennung deutlich wird, Node-ID’s (nids) von Node-Typ example enthalten soll.
<?php
/**
* Implements hook_menu().
*/
function example_menu() {
$items = array();
$items['example/%node_type_example_nid'] = array(
'title' => 'Example page title',
'description' => 'Example page description',
'page callback' => 'drupal_get_form',
'page arguments' => array('example_form', 1),
'access callback' => TRUE,
);
return $items;
}
- 404 bei Aufruf von example/123?
- Wie bekomme ich es hin, dass der Pfad nur in Verbindung von Node-ID's vom Typ example valide ist?
- ...vielleicht noch zusätzliche Validierungen?
Weiterlesen
- Nov 17, 2012
Die Drush-Erweiterung drush_sql_dump_hold erweitert das Drush-Kommando sql-dump, um eine weitere Option: hold.
Diese Option wurde für die häufige, wenn nicht sogar periodische Ausführung von drush sql-dump
geschrieben und sorgt dafür, dass im via Option result-file (Mandatory) spezifizierten Verzeichnis, nur die durch hold Option angegebene Anzahl von SQL-Dumps aufbewahrt wird.
Weiterlesen
- Oct 16, 2012
Den Fallstrick und die Suche möchte ich euch ersparen...
db_like is the way to go
<?php
$result = db_query(
'SELECT * FROM person WHERE name LIKE :pattern',
array(':pattern' => db_like($prefix) . '%')
);
Weiterlesen
- Feb 20, 2010
Bei der Erstellung von Formularelementen, welche eine Jquery-Datepicker-Funktionalität bereitsstellen sollen besteht die Möglickeit auf Date Popup, ein Submodul des Date / Date API Moduls zurückzugreifen.
Der Zugriff auf diese Funktionalität erfolgt über Drupals FAPI.
Weiterlesen
- Oct 27, 2009
Gestern wurde drush in der Version 2.1 herausgegeben.
Neben zahlreichen Bug Fixes gibt es zwei signifikante Änderungen, die ich hier beschreiben möchte.
- Die Entfernung des Shebang's in drush.php.
- Die Einführung von Aliases.
Weiterlesen
- Aug 13, 2009
Ähnlich wie hier, kam auch ich letztens in die Situation einen oder mehrere Blöcke in einem Block anzeigen zu müssen.
Der obige Ansatz hat erst nach hinzufügen eines weiteren Parameters, nähmlich delta funktioniert.
So kommt man an den Block
<?php
$block = module_invoke('module', 'block', 'view', 'delta', 'bid');
Weiterlesen