Kategorien
PHP

PHP Design Patterns

A product could not be loaded.

Das Verständnis und die Anwendung von Design Patterns gehören in der fortgeschrittenen Programmierung zum guten Ton. Der Sinn für die Verwendung von Design Patterns ist die Software erweiterbar zu halten und auch Jahre später noch ohne großen Aufwand an neue Anforderungen anpassen zu können.

Die folgenden Ausführungen sind aus dem Standardwerk zu dem Thema „PHP Design Patterns“ aus dem O’Reilly Verlag entnommen (ab Kapitel 3), was ich nur jedem PHP Programmierer ans Herz legen kann:

Ein paar interessante Beispiele will ich im Folgenden daraus kurz vorstellen:

Fluent Interfaces

Fluent Interfaces dienen dazu, den Code einer Klasse für andere Entwickler leichter verständlich zu halten und damit indirekt auch Kommentare zu sparen.

Ein Beispiel das viele kennen ist ein ORM Mapper, wie Propel oder Doctrin, beim dem Queries wie folgt zusammengebaut werden:

$orm = new Orm();
$orm->select(array("id", "name"))->from("myTable")->where("id=1");

Einen solchen flüssigen Code erreicht man, wenn mit Fluent Interfaces arbeitet und das Object der Klasse immer wieder zurückt gibt am Ende jedes Methodenaufrufes:

Kategorien
WordPress

WordPress Paragraph Tags werden nicht eingefügt

Man kann sehr einfach über das Problem stolpern, dass die <p>-Tags (Paragrapgh-Tags) nicht automatisch im Blog eingefügt werden.

Um das Problem zu lösen, musste man einfach die Hook vorher ausführen, die die Paragraph Tags setzt:

$content = get_the_content();

echo  apply_filters('the_content', $content);

Dies ergab sich dadurch, dass der Content noch nach iso kodiert werden musste. Ansosnten wäre die Funktion the_content() die richtige Wahl gewesen, die das automatisch erledigt.

Dies is bei mir passiert, bei der Verwendung von WordPress ohne ein Theme sondern nur als Content-Lieferant mittels:

define('WP_USE_THEMES', false);
Kategorien
Server Administration

Plesk Webseiten auf anderen VHost verschieben

Um eine Webseite mit Datenbank erfolgreich auf einen anderen VHost (Virtual Hosts) umzuziehen, muss man

  1. die FTP-Einstellungen ändern
  2. Innerhalb des Projektes nach dem Pfad „/var/www/vhosts“ suchen und anpassen auf den neuen Pfad
  3. die Projekt-Dateien per FTP in das neue Verzeichnis kopieren
  4. die Datenbank per Plesk umziehen, was nicht so einfach ist, weil es keine doppelten DB-User-Namen und Datenbank-Namen geben kann. Deswegen als erstes eine vollständige Kopie der Datenbank erzeugen namens „MeinName_backup“, danach die alte Datenbank löschen. Dann kann die „MeinName_backup“ kopiert werden üpber Plesk auf einen anderen VHost unter dem alten Namen. Danach kann der Datenbank-User angelegt werden.
  5. Cronjobs müssen auch umgezogen werden und der Pfad „/var/www/vhosts“ angepasst werden.
Kategorien
Versicherung

Private Altervorsorge für Freelancer und Selbstständige

Aus meine Start-Up Seminar an der Uni mit sehr kompetenten Versicherungs-Maklern habe ich zum Thema private Altervorsorge folgende sehr interessante Punkte mitgenommen:

  • die private Altervorsorge kann im vorzeitigen Todesfall an Angehörige ausgezahlt werden
  • die Rente wird bis zum Tod gezahlt, ab Beginn des Rentenalters
  • mann sollte 20% des Brutto-Einkommens zurücklegen, wie die gesetzliche Altersvorsorge von aktuell 19,9% zum Vergleich
  • bei einer private Altervorsorge sollte die vorraussichtliche Rentenzahlung über aktuell 1000€ liegen, weil ansonsten Sozialhilfe bezogen werden kann
  • ein Inflationsausgleich muss vorhanden sein, 1000€ sind in 40 Jahren nur noch 100€ wert ohne Inflationsausgleich (plakativ gesagt)
Kategorien
Versicherung

Berufsunfähigkeitsversicherung für Selbstständige

Ein paar wichtige Facts über die private Berufsunfähigkeitsversicherung aus meinem Start-Up Gründer Seminar an der Uni. Die Informationen gelten sowohl für Arbeitsnehmer als auch Selbständige/Freelancer, weil es keine gesetzliche Berufsunfähigkeitsversicherung gibt.

  • die Berufsunfähigkeitsversicherung ist nur privat versicherbar
  • die Berufsunfähigkeitsversicherung sollte nicht mit einer Rentenversicherung kombiniert werden – es entstehen kurioser Weise mehr Kosten dadurch und eine Rentenversicherung kann nicht einfach ausgesetzt werden
  • die Berufsunfähigkeitsversicherung kann steuerlich komplett abgesetzt werden als Vorsorge-Aufwendung
Kategorien
Versicherung

Private oder gesetzliche Krankenversicherung für IT-Freelancer?

Die Antwort für die meisten IT-Freelancer lautet: private Krankenversicherung. Eine Ausnahme gibt es, dazu am Ende mehr. In meinem Uni-Start-Up Kurs habe ich wichtige Informationen mitnehmen können über Krankenversicherungen für Freiberufler und Unternehmer.

Vorteile und Nachteile der gesetzlichen Krankenversicherung für Selbstständige allgemein

Vorteile

  • Kinder sind beitragsfrei mitversichert bis zu einem Verdienst von 50T€, darüber fallen 130€/Monat und Kind an
  • es gibt auch Zusatzversicherungen z.B. für Brille, Zahnersatz usw. mit denen das Leistungsspektrum an das der privaten Krankenversicherung angenähert werden kann

Nachteile

  • der Beitrag zur gesetzlichen Krankenversicherung wird nach dem Verdienst berechnet (Solidaritätsprinzip), was sich nachteilig für besser Verdienende auswirkt
  • es gibt schlechtere Leistungen für das Geld – längere Wartezeiten, weniger Behandlungen und Zeit beim Arzt

Vorteile und Nachteile der privaten Krankenversicherung für Selbstständige allgemein

Kategorien
Versicherung

betriebliche Haftpflicht Versicherung für IT-Freelancer/Freiberufler

Auf einem Workshop über Verischerungen für Selbstständige an meiner Uni habe ich Folgendes mitgenommen:

Wichtig ist die Betriebsbeschreibung beim Abschluss der Versicherung, dort sollte möglichst viel aufgeführt werden, was der Betrieb/Freiberufler leistet. Bei mir sind das z.B:

  • SEO
  • Hosting von Webseiten
  • Programmierung für Kunden
  • Betreiben von eigenen Webseiten
  • Bloggen
  • Betreiben von Online Portalen mit freiberuflichen Redakteuren – city-checkers.de

Im Schadensfall überprüft die Versicherung als erstes, ob in der Betriebsbeschreibung ein solcher Fall abgedeckt ist und zahlt nicht, auch wenn es in den Vertragsunterlagen steht. Man sollte also nicht zu wordkarg damit umgehen.

Kategorien
Yii Framework

Yii AR Search mit Relations Attribute Has_Many

Um eine Suche auch über die Relationen einer Active Record Klasse zu realisieren, muss Folgendes beachtet werden:

1. Die Relation muss vorhanden sein:

 public function relations()
    {
            'categories' => array(self::HAS_MANY, 'place_id', 'category_id'),

2. Die Relation muss suchbar sein:

public function rules()
    {
            array('name, categories', 'safe', 'on' => 'search'),

3. In der Suchfunktion muss folgender Code eingefügt werden. Das OR ist dabei optional aber wichtig, wenn man sich wundert, dass keine Ergebnisse angezeigt werden in der View.

  public function findPlaces($searchTerm)
    {
        $criteria = new CDbCriteria;

        $criteria->compare('name', $this->name, true, 'OR');
        $criteria->with = array('categories' => array("together" => true));
        $criteria->compare('categories.name', $searchTerm,true, 'OR');

        return new CActiveDataProvider($this, array(
            'criteria' => $criteria,
        ));
    }
Kategorien
WordPress Yii Framework

WordPress Integration in Yii Projekt

Wenn man einen WordPress Blog in das Yii Framework intgrieren will und das Layout der Seite behalten will, bietet WordPress die Möglichkeit, die WordPress API zu benutzen ohne ein Theme erstellen zu müssen.

Der Blog/News Bereich soll unter der Adresse: foo.com/news/ erreichbar sein.

WordPress hochladen

WordPress kann wie gewohnt installiert werden und sollte in der Ordner-Hierachie in folgendes Verzeichnis auf selbr Ebene, wie das Yii-Projekt entpackt werden:

yii-project
  assets
  protected
wordpress

Als Datenbank sollte die selber benutzt werden, wie das Yii-Projekt und alle Worpdress-Tabellen sollten ein Prefix erhalten (standardmäßig „wp_“ in der wp-config).

Nachdem man die wp-config angepasst hat, muss noch das Routing von Yii angepasst werden vor der Installation von WordPress.

Yii Controller anlegen

Kategorien
SEO Webdeveloper Tools

Seo Tool für Onsite Analyse: Screaming Frog SEO Spider

Das Screaming Frog SEO Spider Tool ist ein Desktop Programm für Windows/Mac/Ubuntu mit dem man kostenlos bis zu 500 Seiten einer Domain spidern und analysieren kann. Man kann unbegrenzt viele Domains spidern und anzeigen lassen.

Der Spider zeigt einem sehr übersichtlich die SEO relevanten Daten wie Meta-Tags, Überschriften und Redirects an:

seo-spider-tool
Seo Spider Ergebnisse: sb-gahlts-check.de

Fazit: Ein sehr empfelenswertes Tool, die Vollversion kstet lediglich £99 pro Jahr exkl. Steuern.