publish and discover academic work ...

PHP

Uber Blog

Rating
0.00
Stimmen: 0
Alles über PHP

Admins (1)

Moderators (0)

keine Moderators
PHP

Entschlüsselung eines PHP-Scripts

Hallo Kollegen,

auf dem Acadopus gibt es schon einen tollen Artikel, wo es um Entschlüsselung eines bösartigen JavaScript Codes geht. Diesmal wollen wir uns mit PHP Script beschäftigen.
Unser Versuchskaninchen finden Sie hier. Wie Sie sehen der Code besteht aus vier Teilen, deswegen formatieren wir ihn, damit er übersichtlicher wird:

Weiterlesen
PHP

Profiling von PHP-Anwendungen mit XHProf und FirePHP

Früher oder später stellt sich die Frage, wo der Flaschenhals Ihrer PHP-Anwendung ist. Dabei ist es oft wichtig, dass die Analyse direkt auf dem Production-Server stattfinden, damit die Daten der Realität entsprechen. Deswegen ist das nicht immer möglich den in IDE integrierten Profiler zu benutzen. In diesem Fall kann ich Ihnen empfehlen, die Lösung mit XHProf und FirePHP anzuschauen.

Was ist das?


XHProf ist eine PHP-Extension, die im Facebook entwickelt wurde. Der Profiler liefert wertvolle Information über den PHP-Script, wie z.B. die Anzahl von Aufrufen einer Funktion, die Zeit der Ausführung, CPU Auslastung, Memory Usage usw. Die Extension können Sie hier runterladen, die Dokumentation ist hier zu finden.

FirePHP ist eine Erweiterung von sehr bekanntem Werkzeug firebug. FirePHP zeigt in der Console die Debuginformation, wie z.B. dump von Variablen, dafür braucht er auf der Serverseite eine PHP-Klasse. Der Hauptvorteil besteht darin, dass die ganze Info per Headers übertragen wird und kann deswegen nichts auf der Webseite kaputtmachen.


Weiterlesen
PHP

AOP in PHP

Wissen Sie was AOP bedeutet? Nun, wenn nicht, empfehle ich Ihnen diesen Artikel kurz zu überfliegen, um ein bisschen über diese interessante Vorgehensweise zu erfahren. In jeder Anwendung, die aus mehr als zehn Klassen besteht, gibt es ein sogenannten Cross-Cutting Concern. Es geht um eine Funktionalität, die die Hauptlogik der Anwendung abkapselt. Bekannte Beispiele aus der Praxis kennen wir in großer Menge, wie etwa Logging-, Security- und Cashingmechanismen.

Oft entwickeln sich einfache Klassen, die zuerst übersichtlich und verständlich sind zu einer Katastrophe. Anhand eines Beispiels möchte ich Ihnen die Vorgehensweise von AOP verständlich machen:

public function createNewUser($newUsername)
{
    $user = new User();
    $user->setName($newUsername);

    $this->entityManager->persist($user);
    $this->entityManager->flush();
}



Weiterlesen
  • cron cron,
  • 29 Januar 2013, 23:48
  •  1
  • 2
PHP

Mit neuronalen Netzen in PHP arbeiten

Hallo Kollegen!

Ich habe festgestellt, dass die Mehrheit aller Entwickler wirklich denken, dass man mit PHP nichts außer Webseiten machen kann. Ich möchte Ihnen zeigen, dass das völlig falsch ist. Um diese Behauptung mit einem Beispiel zu stützen habe ich mir eine kleine Aufgabe ausgedacht und mit PHP gelöst.

Die Aufgabe ist für PHP ungewöhnlich. Wir werden ein kleines Programm schreiben, das in der Lage ist zu bestimmen auf welcher Sprache ein Text geschrieben ist.

Uns ist zunächst nicht wichtig, wie effizient die Lösung ist und nutze aus diesem Grund eine ganz triviale Herangehensweise. Im Programm wird einfach die Häufigkeit von Buchstaben im Text bestimmt und anhand dieser Daten entschieden, welche Sprache verwendet wird. Damit das alles nicht so langweilig ist, wird eine neuronales Netz die Entscheidung treffen.

Unser Ausgangpunkt

Wir haben ein Text, der in einer der drei folgenden Sprachen geschrieben ist: Englisch, Französisch oder Polnisch. Wir haben dazu drei kurze Texte in diesen Sprachen. Diese Test-Texte werden wir benutzen um unser neuronales Netz zu trainieren. Wir brauchen auch eine Bibliothek, die uns ein neuronales Netzt zur Verfügung stellt und über ein Port für PHP die Einbindung in PHP ermöglicht. Ich habe die Bibliothek FANN genommen.


Weiterlesen
PHP

15 PHP Regular Expressions für Webentwickler

Hallo Kollegen!

Ich habe neulich ein Beispiel für eine Regular Expression gesucht und bin zufällig auf einen ganz tollen Artikel gestoßen. Der Artikel behandelt genau das, was ich gesucht habe. Ich denke, jeder PHP-Programmierer wird früher oder später mit Regular Expression konfrontiert und deswegen habe ich den Artikel übersetzt.
Hier ist die Übersetzung des Artikels von Herrn Jean-Baptiste Jung zu finden.

Prüfung eines Domain Namens auf Korrektheit


$url = "http://acadopus.de/";
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {
    echo "Your url is ok.";
} else {
    echo "Wrong url.";
}


Mehr Beispiele


Weiterlesen
PHP

Multiprozess-Daemon mit PHP

Hallo Kollegen!

Ich möchte in diesem Artikel ein interessantes Thema besprechen, das fast jeder C-Programmierer kennt. Ein PHP-Entwickler hat hingegen oft nur wenig oder keine Vorstellung davon. Haben Sie eine Idee was das sein könnte? Genau, es geht um Multiprocessing.

Grundbegriffe


PID – eine positive ganze Zahl, die ein Prozess eindeutig identifiziert
pcntl – eine PHP- Erweiterung, die die Arbeit mit Prozessen erleichtert
posix – eine PHP- Erweiterung für das Arbeiten mit POSIX.


Weiterlesen
PHP

PHPUnit: Mock Objekte

In diesem Artikel möchte ich über Mock-Objekte erzählen, die oft in Unit Test sehr hilfreich sind. Die Idee gilt für jede Programmiersprache und ist in Form verschiedenen Frameworks realisiert. Hier werde ich PHP benutzen, Sie finden aber ohne große Probleme eine entsprechende Bibliothek für Ihre Lieblingssprache.

Zuerst erläutere ich die Ausgangsituation. Wir haben eine Klasse, die Temperatur (als eine Zahl) von einem Thermometer holt, die Zahl in Worte umwandelt und zeigt sie auf Bildschirm eines Gerätes. Wir wollen diese Klasse testen. Ich widerhole noch mal, wir wollen DIE KLASSE testen und nicht Thermometer und das Anzeigegerät. Mit anderen Worten, wir haben diese zwei Dinge nicht, und müssen eigentlich nicht haben, da wir nur Software testen wollen.


Weiterlesen
  • cron cron,
  • 05 Oktober 2012, 21:50
  •  1
  • 1
PHP

PHPExcel: nützliche Kleinigkeiten

Hallo Acadopuser!

In meiner Arbeit muss ich mich oft mit Excel Dateien beschäftigen. Dafür benutze ich die Bibliothek PHPExel, die für meine Zwecke ganz gut passt, da sie alles kann was ich brauche. Allerdings gibt es Kleinigkeiten, die man berücksichtigen muss. Genau darum wird es in diesem Artikel gehen.

Zelladressen


Die Adresse einer Zelle kann man auf verschiedene Weise angeben:

  • Spalte und Reihe als String: «A1»
  • Spalte als Buchstabe, Reihe als Zahl: («A», 1)
  • Spalte und Reihe als Zahlen: (1, 1)

In PHPExcel gibt es keine Methode, die universell ist und die alle drei Möglichkeiten bearbeiten kann, es gibt die Methoden, die für jeden Fall spezialisiert sind. Ich habe eine eigene Methode implementiert, die erkennt, in welchem Format die Adresse übergeben wurde:

public function getCellValue($cellOrCol, $row = null)
{
    //column set by index
    if(is_numeric($cellOrCol)) {
        $cell = $this->activeSheet->getCellByColumnAndRow($cellOrCol, $row);
    } else {
        $lastChar = substr($cellOrCol, -1, 1);
        if(!is_numeric($lastChar)) { //column contains only letter, e.g. "A"
           $cellOrCol .= $row;
        } 
        
        $cell = $this->activeSheet->getCell($cellOrCol);
    }
    $val = $cell->getValue();
    return $val;
}



Weiterlesen
PHP

Skype Bot mit PHP

Übersetzung des Artikels.

Ich wollte schon seit langem ein Skype Bot schreiben, hatte aber immer das Problem, dass es nicht so viel darüber geschrieben ist. Besonders, wenn man berücksichtigt, dass ich nur PHP kann und auf meinem Computer Unix-System steht. Letztes Mal, als ich Skype-Dokumentation gelesen habe, habe ich die Worte „D-BUS messaging“ bemerkt. Nachdem ich das genauer angeschaut habe, habe ich verstanden, dass es genau das ist was ich brauche.
Wie Sie schon verstanden haben, wird es in diesem Artikel um Entwicklung eines Skype Bots mit PHP gehen.


Weiterlesen
PHP

Nützliche Module für Drupal 7

Hallo Leute,

in diesem Artikel möchte ich einige Module auflisten, die, meiner Meinung nach, jedem Drupal-Nutzer bekannt sein sollen.

Administrierung


Thema Fubik – schönes und bequemes Thema für Admin Panel
Modul Administration menu – wie der Name schon sagt, eine sehr hübsche Administration Menü.
Modul Inline Messages — Die Fehler werden in Block angezeigt, wo die passiert sind.
Modul Content Access – ermöglicht Zugriff auf Content
Modul Comment Access – Zugriff auf Kommentaren (besonders nützlich für Forum).


Weiterlesen