Unter Netbeans: Extras > Optionen > Verschiedenes > Dateien
Regex ändern in
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|.svn)$|~$
Unter Netbeans: Extras > Optionen > Verschiedenes > Dateien
Regex ändern in
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|.svn)$|~$
Wer die Amazon API nutzt um seine Artikel zu verkaufen, der muss diese nach Amazon MWS migrieren, weil am 8. Oktober 2012 die AIM- und SOAP-Dienste heruntergefahren werden. Bis dahin gibt es eine Übergangsfrist, die gilt, wenn die API im Zeitraum vom 9.9.2011 und 9.10.2011 benutzt wurde.
Mit schema.org können beliebiegen Textteilen einer Webseite maschinenlesbare Informationen über die Oberkategorie hinzugefügt werden.
Wenn man bspw. einen CD Online-Shop betreibt, kann man mit schema.org einer CD-Detail Seite Informationen über Interpreten, Release usw. kennzeichnen.
Für das Rechtesystem in meinem Tippspiel werden die Komponenten Zend_Auth und Zend_Acl im Zendframework verwendet. Zend_Auth ist dabei für die Authentifizierung registrierter Nutzer zuständig und Zend_Acl für Verteilung und das setzen der Rechte. Es wurden drei Rollen angelegt: Guest, Member und Administrator.
Das HTML5 Framework Boilerplate bietet ein Grundgerüst für die Programmierung in dem neuen Webstandard HTML5 an und beinhaltet
.htaccess-Datei mit gängigen Standardeinstellungen und Performance OptimierungenZum Testen wurde PHPUnit verwendet als Standard-Testing-Tool für PHP und in Netbeans intergriert.
Dazu wurde eine Bootstrap Datei angelegt, in der die Applikationsvariablen geladen werden (IndexControllerTest.php):
class IndexControllerTest extends Zend_Test_PHPUnit_ControllerTestCase
{
public function setUp()
{
$this->bootstrap = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
parent::setUp();
}
}
Ein Test kann dan so aussehen (Test Files/application/controllers/IndexControllerTest.php):
require_once '/../../TestConfiguration.php';
require_once '/../../../application/models/Players.php';
class PlayersTest extends PhpUnit_Framework_TestCase{
public function setUp()
{
TestConfiguration::setupDatabase();
}
public function testFetchAll(){
$TippspielObjekt = new Players();
$TippspielAnzahl = $TippspielObjekt->fetchAll();
$this->assertGreaterThan(10, $TippspielAnzahl->count());
}
public function testLatest(){
$TippspielObjekt = new Players();
$TippspielAnzahl = $TippspielObjekt->fetchLatest(1);
$this->assertSame(1,$TippspielAnzahl->count());
}
}
Um die möglichen bei Usern im Betrieb auftretenden Fehler einer Webseiten zu loggen, empfiehlt sich ein Error Log in der htaccess einzurichten außerhalb des öffentlichen Teils der Webseite. Diese muss via FTP mit Schreibrechten versehen werden.
php_flag log_errors on
php_value error_log /srv/www/vhosts/domain/non-public/PHP_errors.log
php_flag ignore_repeated_errors on
php_flag ignore_repeated_source on
php_value error_reporting 1
Dabei werden keine sich wiederholenden und nur fatal run-time Fehler geloggt.
Wenn man performant und elegant ein belibeges 2 spaltiges Tabellen HTML Layout generieren will ohne Tabellen, kann man z.B: so tun:
$count = count($array);
for($i = 0; $i < $count; $i++)
{
$style = !$i%2 ? "left" : "right";
$html .= "<div class='$style'>{$array[$i]}</div>";
}
und mit CSS ausrichten:
#container{width:600px}
.left {width:200px}
.right {width:400px}
Was mich richtig nervt, sind die automatischen Logouts von PhpMyAdmin, welche nach 1440s durchgeführt werden.
Dazu muss man in libraries/config.default den Wert ändern:
$cfg['LoginCookieValidity'] = 1440;
Un außerdem in der php.ini die Session Lifetime erhöhen, wenn nötig: session.gc_maxlifetime.
Gerade habe ich an dem Problem gehangen, dass ich mit Doctrine eine neue Spalte namens „release“ füllen wollte. Mit Release wart das Release-Datum von CDs gemeint. Es kam die Standard Fehlermeldung von MySQL, das ein Fehler bei release war.
$products->release = 2003;
Natürlich habe ich es auf Doctrine geschoben, weil da oft solch ein komisches Zeug passiert. Komisch war, dass die Fehlermdlung nicht auftrat bei:
$products->release = NULL;
Das gab mir schwer zu denken und führte mich auf die falsche Fährte in Richtung, dass der Wertebereich nicht passte.
Die Lösung war ganz einfach: Das Word Release gehört zu den reservierten Wörtern in MySQL, was ich nicht wusste. Einen Überblick gibt es hier.
Die Lösung war also, den Spalte umzubennen in product_release, damit funktioniert es dann:
$products->product_release = 2003;
Was genau der release-Befehl in MySQL macht, konnt ich leider nicht herausfinden, ich freue mich auf Beiträge darüber.