Kleine PHP-Helfer

Facebooktwittergoogle_pluspinterestlinkedinmailFacebooktwittergoogle_pluspinterestlinkedinmail

PHP-Logo
Oft braucht man kleine Hilftsfunktionen in PHP und möchte diese nicht neu durchdenken oder programmieren. Eine kleine Sammlung von eigenen, kleinen Skripten habe ich hier gelistet. Vielleicht sind diese ja nützlich für jemanden.

Transformationen

Tag der Woche

Die Funktion transformDayOfWeek wandelt die Nummer des Wochentages in den dazugehörigen Namen des Wochentages in einer gewünschten Sprache um.


Monatsnummer

Wenn man einen Monat im dreistelligem englischem Format bekommt, möchte man manchmal den dazugehörigen Monat als Zahlenwert haben. Diese Funktion gibt ihn zurück.


Datum in ein Timestamp umwandeln

Manchmal stößt man auf zu bearbeitetende Werte, die schwer auseinander zuteilen sind. So z.B. das Datumsformat Wed, 23 Jan 2013 09:40:15 +0100 (CET). Diese Funktion hilft dabei einen praktikablen Timestamp zu generieren.


Debugging Funktionen

Debug-Ausgabe

Die wichtigste Funktion beim entwickeln von Software ist das Debuggen. Dafür braucht man eine solide funktionierenden Ausgabefunktion von Werten. Diese Funktion bietet einige Funktionen.

Das Flag kann addiert werden, somit sind mehrere Optionen möglich.


XML-Funktionen

Um schnell XML-Dateien zu erstellen, arbeite ich mit SimpleXML. Diese Funktionen helfen und vereinfachen ein paar Dinge.

XML-Kommentar setzen

Um in SimpleXML einen Kommentar zu setzen, werden 3 Befehle gebraucht. Diese Funktion fasst sie zusammen.


XML-Struktur starten

Um eine Struktur mit SimpleXML zu starten führt diese Funktion Stück für Stück alle Schritte aus. Zurückgegeben wird das XML-Objekt.

Quellen   [ + ]

1. <span style="color: #99cf50;">string</span>) <span style="color: #3e87e3;">$date</span>[<span style="color: #3387cc;">5</span>],<span style="color: #3387cc;">3</span>); <span style="color: #3e87e3;">$tzhour</span> <span style="color: #e28964;">=</span> <span style="color: #dad085;">str_split</span>(<span style="color: #3e87e3;">$tz</span>[<span style="color: #3387cc;">0</span>]); <span style="color: #e28964;"> if</span>((<span style="color: #99cf50;">int</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">1</span>]<span style="color: #e28964;">==</span><span style="color: #3387cc;">0</span>) <span style="color: #3e87e3;">$tzhour</span><span style="color: #e28964;">=</span>(<span style="color: #99cf50;">int</span>) ((<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">0</span>]<span style="color: #e28964;">.</span>(<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">2</span>]); <span style="color: #e28964;"> else</span> <span style="color: #3e87e3;">$tzhour</span><span style="color: #e28964;">=</span>(<span style="color: #99cf50;">float</span>) ((<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">0</span>]<span style="color: #e28964;">.</span>(<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">1</span>]<span style="color: #e28964;">.</span>(<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">2</span>]); <span style="color: #3e87e3;">$tzmin</span> <span style="color: #e28964;">=</span> <span style="color: #dad085;">str_split</span>(<span style="color: #3e87e3;">$tz</span>[<span style="color: #3387cc;">1</span>]); <span style="color: #e28964;"> if</span>((<span style="color: #99cf50;">int</span>)<span style="color: #3e87e3;">$tzmin</span>[<span style="color: #3387cc;">0</span>]<span style="color: #e28964;">==</span><span style="color: #3387cc;">3</span>) <span style="color: #3e87e3;">$tzhour</span><span style="color: #e28964;">+</span><span style="color: #e28964;">=</span><span style="color: #3387cc;">0.5</span>; <span style="color: #aeaeae; font-style: italic;">// timestamp - timecorrection + transform to UTC1</span> <span style="color: #e28964;"> return</span> (<span style="color: #99cf50;">int</span>) (<span style="color: #dad085;">mktime</span>(<span style="color: #3e87e3;">$hour</span>,<span style="color: #3e87e3;">$minute</span>,<span style="color: #3e87e3;">$second</span>,<span style="color: #3e87e3;">$month</span>,<span style="color: #3e87e3;">$day</span>,<span style="color: #3e87e3;">$year</span>) <span style="color: #e28964;">-</span> <span style="color: #3387cc;">3600</span><span style="color: #e28964;">*</span><span style="color: #3e87e3;">$tzhour</span> <span style="color: #e28964;">+</span> <span style="color: #3387cc;">3600</span><span style="color: #e28964;">*</span><span style="color: #3387cc;">UTC</span>); } ?&gt;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
&lt;?php
 
<span style="color: #aeaeae; font-style: italic;">/********************
* transformTimestamp
*   transform a complete date in a timestamp
*********************
* @param:
*   $date - date to transform (format: "Wed, 23 Jan 2013 09:40:15 +0100 (CET)")
* @return: timestamp
*/</span>
 
<span style="color: #99cf50;">function</span> <span style="color: #89bdff;">transformTimestamp</span>(<span style="color: #3e87e3;">$date</span>) {
 
    <span style="color: #3e87e3;">$date</span>   <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">array</span>) <span style="color: #dad085;">explode</span>(<span style="color: #65b042;">" "</span>,<span style="color: #3e87e3;">$date</span>);
    <span style="color: #3e87e3;">$time</span>   <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">array</span>) <span style="color: #dad085;">explode</span>(<span style="color: #65b042;">":"</span>,<span style="color: #3e87e3;">$date</span>[<span style="color: #3387cc;">4</span>]);
    <span style="color: #3e87e3;">$hour</span>   <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">int</span>) <span style="color: #3e87e3;">$time</span>[<span style="color: #3387cc;">0</span>];
    <span style="color: #3e87e3;">$minute</span> <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">int</span>) <span style="color: #3e87e3;">$time</span>[<span style="color: #3387cc;">1</span>];
    <span style="color: #3e87e3;">$second</span> <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">int</span>) <span style="color: #3e87e3;">$time</span>[<span style="color: #3387cc;">2</span>];
    <span style="color: #3e87e3;">$month</span>  <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">int</span>) getMonthNumber(<span style="color: #3e87e3;">$date</span>[<span style="color: #3387cc;">2</span>]);
    <span style="color: #3e87e3;">$day</span>    <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">int</span>) <span style="color: #3e87e3;">$date</span>[<span style="color: #3387cc;">1</span>];
    <span style="color: #3e87e3;">$year</span>   <span style="color: #e28964;">=</span> (<span style="color: #99cf50;">int</span>) <span style="color: #3e87e3;">$date</span>[<span style="color: #3387cc;">3</span>];
 
    <span style="color: #aeaeae; font-style: italic;">// transform into UTC</span>
    <span style="color: #3e87e3;">$tz</span> <span style="color: #e28964;">=</span> <span style="color: #dad085;">str_split</span>((<span style="color: #99cf50;">string</span>) <span style="color: #3e87e3;">$date</span>[<span style="color: #3387cc;">5</span>],<span style="color: #3387cc;">3</span>);
    <span style="color: #3e87e3;">$tzhour</span> <span style="color: #e28964;">=</span> <span style="color: #dad085;">str_split</span>(<span style="color: #3e87e3;">$tz</span>[<span style="color: #3387cc;">0</span>]);
<span style="color: #e28964;">    if</span>((<span style="color: #99cf50;">int</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">1</span>]<span style="color: #e28964;">==</span><span style="color: #3387cc;">0</span>) <span style="color: #3e87e3;">$tzhour</span><span style="color: #e28964;">=</span>(<span style="color: #99cf50;">int</span>) ((<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">0</span>]<span style="color: #e28964;">.</span>(<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">2</span>]);
<span style="color: #e28964;">    else</span> <span style="color: #3e87e3;">$tzhour</span><span style="color: #e28964;">=</span>(<span style="color: #99cf50;">float</span>) ((<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">0</span>]<span style="color: #e28964;">.</span>(<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">1</span>]<span style="color: #e28964;">.</span>(<span style="color: #99cf50;">string</span>)<span style="color: #3e87e3;">$tzhour</span>[<span style="color: #3387cc;">2</span>]);
    <span style="color: #3e87e3;">$tzmin</span>  <span style="color: #e28964;">=</span> <span style="color: #dad085;">str_split</span>(<span style="color: #3e87e3;">$tz</span>[<span style="color: #3387cc;">1</span>]);
<span style="color: #e28964;">    if</span>((<span style="color: #99cf50;">int</span>)<span style="color: #3e87e3;">$tzmin</span>[<span style="color: #3387cc;">0</span>]<span style="color: #e28964;">==</span><span style="color: #3387cc;">3</span>) <span style="color: #3e87e3;">$tzhour</span><span style="color: #e28964;">+</span><span style="color: #e28964;">=</span><span style="color: #3387cc;">0.5</span>;
 
    <span style="color: #aeaeae; font-style: italic;">// timestamp - timecorrection + transform to UTC1</span>
<span style="color: #e28964;">    return</span> (<span style="color: #99cf50;">int</span>) (<span style="color: #dad085;">mktime</span>(<span style="color: #3e87e3;">$hour</span>,<span style="color: #3e87e3;">$minute</span>,<span style="color: #3e87e3;">$second</span>,<span style="color: #3e87e3;">$month</span>,<span style="color: #3e87e3;">$day</span>,<span style="color: #3e87e3;">$year</span>) <span style="color: #e28964;">-</span> <span style="color: #3387cc;">3600</span><span style="color: #e28964;">*</span><span style="color: #3e87e3;">$tzhour</span> <span style="color: #e28964;">+</span> <span style="color: #3387cc;">3600</span><span style="color: #e28964;">*</span><span style="color: #3387cc;">UTC</span>);
}
 
?&gt;


Debugging Funktionen

Debug-Ausgabe

Die wichtigste Funktion beim entwickeln von Software ist das Debuggen. Dafür braucht man eine solide funktionierenden Ausgabefunktion von Werten. Diese Funktion bietet einige Funktionen.

Das Flag kann addiert werden, somit sind mehrere Optionen möglich.