PHP Frage, Platzhalter in MySQL für PHP Ausgabe hinterlegen

@ayngush
Stimmt, composer muss nicht zwingend auf dem Server installier sein. Falls man aber eine Versionsverwaltung wie GIT verwendet, sollte man den vendor Ordner nicht mit einchecken. Die Uebertragung per SFTP geht auch schneller wenn sich den Ordner spart und auf dem Server nur noch composer install ausfuehrt.
 
Schönen guten Abend, ich werde am Wochenende mal einen XAMPP installieren. In den Videos haben sie eine .exe Datei für die Installation von composer herunter geladen und diesen einfach via 'cmd' ausgeführt. Das sah ja erst einmal relativ easy aus.

Von meinem Bekannten habe ich Anfang des Jahres schon erfahren, dass composer (glaube der war es) eine große Community hat und man für diesen so gut wie alles bekommen kann, was das Herz begehrt.

Ich muss nur erst einmal ein "hello world" oder so etwas aufbauen und dann schauen was ich damit noch so anstellen kann. Bekannter meinte, dass das an sich Sinn macht, weil vieles standardisiert ist, man das Rad nicht neu erfinden muss und in der Regel auch andere Leute damit "relativ" flott zurecht kommen könnten.

Schon mal vielen Dank für die zahlreiche Rückmeldung sowie Tipps.

Gruß, Domi
 
  • Gefällt mir
Reaktionen: r15ch13
r15ch13 schrieb:
und auf dem Server nur noch composer install ausfuehrt.

... und danach composer dump-autoload -o zumindest, wenn man in seinem Projekt weitere PSR-4 Dinge lädt ...
 
  • Gefällt mir
Reaktionen: r15ch13
Moin, also ich war jetzt mal so frei und habe mir den 'composer' installiert und ihn global ausführbar gemacht. Er meckert zwar noch herum, dass ich diesen als 'root' ausführe, aber auf einer der Seiten habe ich gelesen dass dies wohl von nöten wäre aufgrund der Schreibrechte und dazu kommt, dass composer ja eigentlich nichts schlimmes macht.

Vielleicht verpasse ich den separaten vhost Usern auch sh oder bash Zugriff, aber erst einmal zum testen klappt es.

Habe mir dann mal dieses Video (und Part 1) angeschaut um zu gucken wie das so funktioniert. An sich eine sehr schicke Sache... vor allem, wenn ich bedenke wie viel Quellcode es eigentlich gewesen wäre wenn ich das in PHP direkt nachgebaut hätte.

Kann man sagen, dass composer mit den Features ähnlich im Vergleich ist, wie jQuery und ganz normale JS Programmierung?! Denn alles was jQuery kann, kann ich ja auch in JS direkt bauen, nur mit etwas mehr Quellcode.

Ich werde mal schauen was ich dort noch so machen kann... da wohl im Herbst eine Domain von uns aus der Firma umgebaut werden soll, könnte man das ja gleich kombinieren.

Gruß, Domi

p.s. Case-Sensitive hatte ich bei dem 'use' erst nicht beachtet und das 'AS' groß geschrieben. Kam nicht so gut an, aber nachdem ich auch diese Hürde gepackt hatte, läuft es schon mal ein wenig besser.
 
Nein das kann man nicht vergleichen. Composer ist ein Paketmanager für PHP, jQuery eine Programmbibliothek.

Composer hilft dir nur Abhängigkeiten von deinem Code zu verwalten indem es die entsprechenden Abhängigkeiten herunterlädt und installiert. Vergleichbar mit gem für Ruby oder npm für Node.js.
 
Moin, ja da hast du vollkommen recht, composer ist wie 'apt' ein Paketmanager, aber dieser Paketmanager besorgt mir ja Programmbibliotheken mit denen ich arbeiten kann, oder ist das ebenfalls falsch?!

Zumindest sah es bei dem Beispiel für Bilder schon mal so aus, als wenn der composer mir eine Bibliothek / Klasse eingebunden hat, mit der man das eine oder andere einfacher gestallten kann.

Gruß, Domi
 
Das ist korrekt. Wobei einem das Programmieren dabei nicht abgenommen (im Vergleich zu der
hier schon genannten "Wordpress-Darstellung") sondern durch die Klassen / Frameworks zielgerecht erleichtert wird. Die passenden Pakete / Frameworks muss man dennoch selber auffinden. Und ich würde den Einsatz auch immer auf das sinnvollste und notwendigste beschränken und nicht, nur weil es geht, das ganze Projekt mit externen Abhängigkeiten volknallen :)

Aber es gibt da schon viele, sehr gute Frameworks, wie z.B. Twig, Slim, Symfony, Monolog, ... uvm.
 
Alles klar, ich bedanke mich schon mal bis hier hin für die Informationen. Am Anfang des Jahres klang das noch so, als wenn ich mit composer etwas aufbauen und anschließend auch komplett auf dem Zeil-Server installieren muss damit eine Anwendung funktioniert.

Wenn composer halt nur der Paketmanager ist um Programmbibliotheken bereit zu stellen, kann ich ja lokal via XAMPP (oder einem anderen Server) die Seiten aufbauen und schiebe dann wie handelsüblich alles auf den Ziel-Server via FTP / sFTP etc. und fertig wäre das Thema :)

Was die Bibliotheken an sich angeht, ich bin immer ein Freund von "klein halten" bei Programmen und wenn die Möglichkeit besteht, versuche ich so viel wie möglich weg zu lassen. Ich muss mich aber erst einmal dort einarbeiten, bevor ich anfangen kann etwas weg zu lassen. Dass mir so etwas das Programmieren nicht abnimmt, ist gar nicht so schlimm... bin zwar kein Vollblut Programmierer (Anwendungsentwickler) aber das eine oder andere aufbauen, macht mir dennoch mehr Spaß als ein mit WordPress, Joomla, Contao etc. aufgebautes System zurecht zu haben.

Interessant wird ja dann die Template Geschichte... Bekannter sagte mir Anfang des Jahres, dass man mit solchen Systemen wie TWIG (er nannte glaube ich ein anderes Beispiel) besonders Toll Formulare aufbauen kann. Vor allem, wenn es unterschiedliche Stufen für Berechtigung etc. gibt und so müsste man hinterher nicht mehr an vielen Stellen gleichzeitig arbeiten und würde etwas vergessen. Aber ich muss mich da auch erst einmal hinein arbeiten :D

Gruß, Domi
 
Das ist korrekt und das hat dein Bekannter auch schon korrekt geschildert.
Der Vorteil von Twig ist, dass es anders als Mustache.js zum Beispiel, ebenfalls eine eigene Programmlogig besitzt und sich auch mit eigenen Methoden, Filtern und Macros erweitern lässt. Das ist schon ein recht mächtiges Tool und mit aktivierten Cache auch für Mittelgroße Webapplikationen durchaus geeignet.

Wenn so etwas von der Pike auf aufgebaut werden soll, würde ich eien Kombination aus Slim + Twig for Slim oder gleich komplett auch Symfony setzen (da ist Twig dann enthalten). Dadurch erhält man dann schonmal ein solides Gerüst für die Model View Controller (MVC) Softwarearchitektur.

Ich kombiniere bei meiner Arbeit häufig Slim (als REST API oder Router für die Webanwendung) + Twig Serverseitig mit Bootstrap 4 + jQuery + Mustache.js Clientseitig für Webanwendungen wie CRM-Systeme, Extranets, Dateiarchive / DMS, usw.

Für Twig habe ich mir eine eigene Factory-Klasse gebastelt, die dann noch ein paar spezifische Filter und Methoden, die ich für unsere Datenarchitektur benötige, bereit stellt.

Dadurch reduziert sich der Aufwand eine neue Seite / ein neues Modul in eine bestehende Anwendung zu integrieren auf:

PHP:
<?php
// Pseudocode
use \MeinNamespace\TwigFactory;
use \MeinNamespace\DatabaseFactory;

// in config.php ist auch die vendor/autoload.php referenziert und einige Umgebungsparameter wie TWIG_CACHE definiert.
require_once '../config.php';

$twig = new TwigFactoy(TWIG_CACHE, 'Modulname');
$db = new DatabaseFactory('instanzname');

// Daten holen
$sql = "SELECT *
        FROM Tabelle
        WHERE FeldID = :parameter";
$attr = [
    ':parameter' => 123,
];
$data = $db->query($sql, $attr);

// Ausgabe
echo $twig->render('seitentemplate.twig', [
    'Daten' => $data,
]);
 
Zuletzt bearbeitet:
@ayngush
Factory Klassen sollten keine Methoden haben die render oder query heißen.
Heißt deine Factories sidn gar keine Factories :(
 
Wie ich meine Methoden nenne ist doch dabei Wurst?!?

Es sind insofern Factories, als dass sie mehrere andere Klassen Nehmen, teilweise noch mit Dependency Injection konstruiert werden, (je nach Abhängigkeit) und dann Daraus etwas bauen. Wie nennt man das Pattern denn sonst?
 
Zuletzt bearbeitet:
Zurück
Oben