- 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, 12: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, 15: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, 08:25
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 449
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 08:47 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 15-05-2017, 10: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 11: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 09:29
Verzeichnisse auslesen... bysnake PHP Developer Forum 0 02-04-2006 17:52
Event und Member Organisation VooDooSky Apps und PHP Script Gesuche 0 03-10-2005 15:15
Verzeichnisse lesen Andi F. PHP Developer Forum 1 12-12-2003 12:56
Verzeichnisse Churchill27 PHP Developer Forum 3 21-12-2001 14: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

Mit Web-Templates Geld verdienen
Mit Web-Templates Geld verdienenWeb-Templates gewinnen immer mehr an Bedeutung. Erfahre hier, wie du dir mit dem TemplateMonster-Marktplatz neue Verkaufswege erschließen kannst.

17.10.2017 | Berni

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

21.09.2017 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 4 oder neuer, MySQL 3.23 oder neuer und die

17.11.2017 mirko_swm | Kategorie: PHP/ Mail
belbit Ticketcenter ansehen belbit Ticketcenter

Supportanfragen per Helpdesk über E-Mail und per Kontaktformular entgegennehmen. Inkl. iPhone- und Android App zum mobilen Beantworten von Anfragen.

14.11.2017 EichbaumMedia | Kategorie: PHP/ Ticketsystem
PHP Counter Script V1.0 ansehen PHP Counter Script V1.0

Ein ganz einfach einzubauender Besucherzähler. Kostenlos und ohne Werbung für private und gewerbliche Webseiten!

14.11.2017 hinnendahl_com | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:59 Uhr.