Beitrag von winfreak (4. August 2015 um 14:51 )
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
Warum läßt du bei PHP eigentlich immer das ?> weg? das ist total verwirrend.
Aber ja, direkt die Funktionen ineinander übergreifen zu lassen ist ne schöne Lösung, war mir nicht allen davon bewusst.
Funktioniert so auch nicht. Sort gibt nen Boolean zurück und keinen sortieren String aus einem Array, wie ich angenommen habe...
Weil man den schließenden Tag nicht braucht und es die Performance verbessert, ihn bei reinen PHP Dateien weg zu lassen.
Warum läßt du bei PHP eigentlich immer das ?> weg? das ist total verwirrend.
Hat sich als gute Praxis rausgestellt; Grund: Wenn nach ?> noch Whitespace steht (viele Editoren fügen in der letzten Zeile z.B. ungefragt einen Zeilenumbruch ein), dann ist das dann auch im Output enthalten. Macht bei HTML vermutlich nichts, wenn man dem </html> noch etwas Whitespace rumgammelt, bei anderen Dateiformaten je nach dem aber schon. Mit Performance hat das nichts zu tun.
Nachtrag: Problematisch ist es auch, wenn man PHP-Dateien inkludiert. Dann zerhaut einem das Whitespace den Output, das ist tödlich wenn z.B. noch keine HTTP-Header gesetzt wurden, weil PHP dann die Header frühzeitig raushauen muss.
Ich habe es so gelernt, dass ?> zwingend notwendig ist und hatte dahingehend nie Probleme. Wenn natürlich der Editor so konfiguriert ist, dass er am Ende des Dokumentes Whitespace macht, kann das theoretisch natürlich solche Probleme machen. Den Fall hatte ich bisher aber noch nicht und man kanns in den meisten Editoren ja konfigurieren.
Hm, weiß ehrlich gesagt auch nicht mehr wo ich das mit der Performance her habe, war wohl eine Ente...
Nichts desto trotz ist daran ja auch nichts verwirrend, wenn in einer PHP Datei PHP steht.
gandro: https://josephscott.org/archives/2010/…-tag-more-work/
Okay, interessant. Aber wenn ich in meinem Studium irgendwas über Performance gelernt habe, dann dass Behauptungen über Performance ohne Benchmarks nicht die Bits wert sind, auf denen sie gespeichert sind
Warum läßt du bei PHP eigentlich immer das ?> weg? das ist total verwirrend.
Es ist wie schon von gandro berichtet wegen des Whitespace-Problems am Ende der Datei.
Gerade in einem Umfeld mit mehreren Entwicklern hat sich gern mal ein Whitespace irgendwo eingeschlichen und wenn sich das in reinen Klassen-PHP-Dateien einnistet, dann hat man immer unerwartete Probleme irgendwann.
Ich hab seit Jahren keine PHP-Datei mit ?> am Ende gesehen.
Ich auch nur in der Berufsschule.
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
const int count = 1 << 20;
var results = new List<int>(count);
var rnd = new Random();
for (int i = 0; i <= count; i++)
{
results.Add(0);
do
{
results[i]++;
}
while (rnd.Next(1, 7) != 6);
//Console.WriteLine("{0} {1}", i, (float)i / count);
}
for (int i = 1; i <= results.Max(); i++)
{
Console.WriteLine("{0} {1}", i, results.Count(x => x == i));
}
Console.WriteLine("Press Enter to exit");
Console.ReadLine();
}
}
Alles anzeigen
Ereignisanzeige per batch löschen ...
cleaning.bat als Admin ausgeführt und schon ist die Ereignisanzeige sauber
geht ab Windows 7
Deployment-Skript für eine Webapp:
#!/bin/sh
# Copyright © 2015 Thomas Schneider <thosch97@gmail.com>
# Licensed under the terms of the ISC license, see LICENSE for details
#
# NOTE: This script will _not_ automatically be executed, manual installation
# on the server is necessary! It is placed in this repository only for
# reference and backup purposes.
export DEPLOY_DIR="/var/www/virtual/qsuscs/gw2.qsuscs.de"
OLD_DIR="$(readlink -f "${DEPLOY_DIR}")"
REV="$(hg identify -i -r default)"
NEW_DIR="${DEPLOY_DIR}.${REV}"
test "${NEW_DIR}" = "${OLD_DIR}" && exit
mkdir "${NEW_DIR}"
hg archive -r "${REV}" -t files -I app -I gw2.fcgi -I .htaccess "${NEW_DIR}"
ln -Tsf "${NEW_DIR}" "${DEPLOY_DIR}"
pkill -f gw2.fcgi
rm -rf "${OLD_DIR}"
Alles anzeigen
Deployment-Skript für eine Webapp:
Ziemlich cool! Hast du das in Kombi mit Jenkins für CI?
Ziemlich cool! Hast du das in Kombi mit Jenkins für CI?
>jenkins
>java
>uberspace
Nein, das wird von Mercurial als incoming-Hook nach einem Push aufgerufen.
>jenkins
>java
>uberspace
Nein, das wird von Mercurial als incoming-Hook nach einem Push aufgerufen.
Ah okay. Geht natürlich auch. Alles besser als good old FTP.
Ah okay. Geht natürlich auch. Alles besser als good old FTP.
Naja deploy.sh selbst installiere ich auf der Shell oder per SCP, auch wenn ich, sobald es einmal da ist, natürlich auch einen Upgrader einbauen könnte.
Was spricht dagegen, einfach am Server zu pullen, sobald das Release soweit ist?
Was spricht dagegen, einfach am Server zu pullen, sobald das Release soweit ist?
Dass das nur ich kann und es auch andere Leute machen können. Das heißt, eigentlich bin ich eher nur Techadmin und stelle die Infrastruktur bereit und nicht Hauptentwickler. Deployment via Mercurial lag nahe, alles andere wäre recht umständlich einzurichten gewesen.
Was spricht dagegen, einfach am Server zu pullen, sobald das Release soweit ist?
Weil bei immutable infrastructure das nichtmehr funktioniert.
Weil bei immutable infrastructure das nichtmehr funktioniert.
This.
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!