- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 10-05-2017, 11:13
nebbiolo
 Registrierter Benutzer
Links : Onlinestatus : nebbiolo ist offline
Registriert seit: Aug 2008
Beiträge: 22
nebbiolo ist zur Zeit noch ein unbeschriebenes Blatt
Standard Organisation der Verzeichnisse

Hallo

Gibt es irgendwo Richtlinien wie man Verzeichnisse und Unterverzeichnisse anordnen sollte?
Dass z.B. Funktionen in einem /functions angelegt werden sollten ist mir schon klar, aber ich habe einige Script, die ich nur für mich (also intern) zur Kontrolle brauche. Da habe ich mal content="noindex" angegeben damit diese Seiten nicht von Suchmaschinen gefunden werden.
Was sollte/dürfte im "obersten" Verzeichnis (bei mir httpdocs) ausser dem index.php überhaupt abgelegt werden?

Vielen Dank und sonnige Grüsse, Nebbiolo
Mit Zitat antworten
  #2 (permalink)  
Alt 11-05-2017, 14:50
chorn
 Registrierter Benutzer
Links : Onlinestatus : chorn ist offline
Registriert seit: Nov 2011
Beiträge: 103
chorn befindet sich auf einem aufstrebenden Ast
Standard

das sind ja gleich mehrere Baustellen. Also zum laden von Modulen gibts z.B. PSR-4 + Namespaces, für die Paketierung guck mal wie Composer das macht. Dann sollte deine index.php in einem Unterverzeichnis deines Projekts liegen und die Domain darauf zeigen, an die "oberen" Dateien kommt dann erstmal keine mehr ran. Und damit irgendwelche Seiten nicht bei Google oder sonstwo auftauchen, sollte da ein Login vorgeschaltet sein.
Mit Zitat antworten
  #3 (permalink)  
Alt 12-05-2017, 07:25
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 440
mermshaus wird schon bald berühmt werden
Standard

Das sind gute Empfehlungen. Autoloading, Composer und dergleichen ist aber kein „Muss“ in dem Sinne. Das hängt auch von der Größe und Komplexität des Projekts ab. Ich versuche es noch mal etwas auszuführen.

Zitat:
Gibt es irgendwo Richtlinien wie man Verzeichnisse und Unterverzeichnisse anordnen sollte?
Nicht wirklich. Wenn du zum Beispiel ein Framework verwendest (Symfony, Laravel, Zend, …), dann gibt das oft eine gewisse Struktur vor, hinter der natürlich auch Sinn und Überlegung stehen, aber das sind letztlich trotzdem Konventionen des Frameworks.

Ich schließe mich hier chorn an: Ein zentraler Aspekt ist, nach Möglichkeit nur die Dateien im öffentlich zugänglichen Bereich des Webservers abzulegen, die dort liegen müssen, weil sie von außerhalb (vom Browser) aufgerufen werden sollen. Das gilt zum Beispiel nicht für functions.php- oder config.php-Dateien, die nur anderswo eingebunden werden.

Ich poste mal eine (gekürzte) Struktur eines aktuellen Projekts, um zu verdeutlichen, wie extrem das werden kann:

Code:
.
|-- build
|   `-- coverage
|-- composer.json
|-- config.dist.php
|-- config.php
|-- cronjob.php
|-- deploy.sh
|-- docs
|   `-- structure.sql
|-- log
|-- phpunit.xml.dist
|-- public                                      \
|   |-- assets                                  | nur drei Dateien
|   |   `-- screen.css                          | im öffentlichen
|   |-- index.php                               | Verzeichnis
|   `-- robots.txt                              /
|-- src
|   |-- Application.php
|   |-- DbApi.php
|   |-- EntryModel.php
|   |-- functions.php
|   |-- HttpRequest.php
|   |-- HttpResponse.php
|   |-- ImportCronjob.php
|   |-- ImporterInterface.php
|   |-- JsonImporter.php
|   |-- PageScannerImporter.php
|   `-- TypeSafety.php
|-- templates
|   |-- day.phtml
|   |-- helpers
|   |   |-- day-table.phtml
|   |   `-- format-delay.phtml
|   |-- index.phtml
|   |-- layout.phtml
|   |-- view-by-date.phtml
|   `-- view-by-train-and-day.phtml
|-- tests
|   |-- ApplicationTest.php
|   |-- bootstrap.php
|   |-- data
|   |-- DbApiTestDouble.php
|   |-- DbApiTest.php
|   |-- EntryModelTest.php
|   |-- HttpRequestTest.php
|   |-- HttpResponseTest.php
|   |-- ImportCronjobTest.php
|   |-- ImporterTest.php
|   `-- SqliteTest.php
`-- vendor
Das ist die lokale Version des Projekts. Wenn ich es auf den Server schiebe (über das deploy.sh-Script), wird nicht alles übertragen. Etwa die Verzeichnisse build, docs und tests werden im Livebetrieb nicht benötigt.

Auf dem Server ist es dann so, dass ich eine Subdomain "foo.example.org" direkt auf das public-Verzeichnis zeigen lasse (wie es auch chorn beschrieben hat). Im Browser wäre es also möglich "foo.example.org/assets/screen.css" aufzurufen, aber es gibt keine Möglichkeit, zum Beispiel "PageScannerImporter.php" anzuwählen, weil die Datei außerhalb des Doc-Root-Verzeichnisses ("public") liegt.

Weitere Beispiele, was ins public-Verzeichnis gehört, sind Bilder und JavaScript-Dateien, da die in der Regel statische Ressourcen sind.

Je nachdem, wie man sein Projekt aufbaut, tut es in Sachen Code wirklich oft eine einizige öffentlich erreichbare index.php-Datei, an die per Rewriting alles umgeleitet wird.

Auch das, was ich hier geschildert habe, ist aber nicht zwingend. Wenn du dir etwa WordPress anschaust, siehst du, dass die „pragmatisch“ auch den gesamten Code in einem öffentlich zugänglichen Verzeichnis liegen haben. Das ist so, um die Installation zu vereinfachen und Leuten dieses Gebastel mit einem public-Verzeichnis zu ersparen.

Aber wenn man es in eigenen Projekten so machen kann, ist das mit dem public-Verzeichnis eine gute Idee.

Zitat:
ich habe einige Script, die ich nur für mich (also intern) zur Kontrolle brauche. Da habe ich mal content="noindex" angegeben damit diese Seiten nicht von Suchmaschinen gefunden werden.
Da die vermutlich auch mit dem Browser aufgerufen werden sollen: Ja, im Zweifel immer ein Login davorschalten. Im einfachsten Fall zum Beispiel mit .htpasswd (Apache). Das mache ich mittlerweile ständig, weil man nie weiß, wer was ausliest.

Geändert von mermshaus (12-05-2017 um 07:47 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 15-05-2017, 09:59
nebbiolo
 Registrierter Benutzer
Links : Onlinestatus : nebbiolo ist offline
Registriert seit: Aug 2008
Beiträge: 22
nebbiolo ist zur Zeit noch ein unbeschriebenes Blatt
Thumbs up

Vielen Dank mermshaus für die ausführliche Beschreibung!
Das hilft mir wirklich weiter.
Auch Danke an chorn ... aber das war mir ein bisschen zu kompliziert ...

Geändert von nebbiolo (15-05-2017 um 10:02 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verzeichnisse / Unterverzeichnisse bei der Suche ausschliessen anni_1 PHP Developer Forum 6 29-08-2006 08:29
Verzeichnisse auslesen... bysnake PHP Developer Forum 0 02-04-2006 16:52
Event und Member Organisation VooDooSky Apps und PHP Script Gesuche 0 03-10-2005 14:15
Verzeichnisse lesen Andi F. PHP Developer Forum 1 12-12-2003 11:56
Verzeichnisse Churchill27 PHP Developer Forum 3 21-12-2001 13:56

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Kostenloser PHP Editor Codelobster
Kostenloser PHP Editor CodelobsterEin einfach zu verwendender PHP, HTML, CSS, JavaScript Editor mit vielen Funktionen

21.09.2017 | Berni

Verlorene Daten – was tun?
Verlorene Daten – was tun?Es ist der Alptraum jedes IT-Users: Digitale Daten verschwinden im Nirvana der Hardware.

04.09.2017 | Berni


 

Aktuelle PHP Scripte

Blog System Script

Mit diesen Script ist es möglich einen eigenen Blog im Internet zu betreiben. Blogs auch Online-Tagebücher genannt erfreuen sich größter Beliebtheit im Internet

08.09.2017 ISD-Genthin | Kategorie: PHP/ Blog
Belegungsplan 0.7.1 ansehen Belegungsplan 0.7.1

Belegungsplan mit Buchungsystem für Ferienwohnungen und -häuser. Zeigt einen Kalender auf ihrer Webseite an. Mit Klick auf den Anreisetag kommt der Gast direkt zur Buchung.

18.08.2017 daproc | Kategorie: PHP/ Kalender
Download-Zähler

Dieses Script zählt für euch die Downloads und trägt diese in einer Datenbank ein.

18.08.2017 daproc | Kategorie: PHP/ Datei Download
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:05 Uhr.