Ankündigung

Einklappen
Keine Ankündigung bisher.

Framwork Web root

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Framwork Web root

    Hallo, ich beschäftige mich seit längerem mit dem Symfony Framework und der dazugehörigen Struktur. Nachdem ich auf der Symfony-Website oder sonstwo im Web keine Antwort auf meine Frage finden konnte, probier ichs hier mal. Und zwar gehts um folgendes:
    Die Symfony-Standard Distribution hat folgendes Folder-Design:

    Code:
    -app
    -src
    -web
    Dazu heißt es in der Symfony-Doku:
    The web directory is the home of all of your application's public and static files, including images, stylesheets and JavaScript files.
    Nun verstehe ich allerdings nicht, wieso es dann in den Bundles einen Resource-Ordner gibt, in denen man genau diese Dateien (natürlich dem spez. Kontext zugehörend) ablegt. Wenn ich also den Webroot auf das web-Verzeichnis lege, dann gibt es ja faktisch keine Möglichkeit auf diese Assets des Bundles zuzugreifen. Oder wie wird das sonst gehandhabt?
    Denn meine Überlegung wäre wie folgt, dass ich den webroot ganz normal auf z.B. htdocs lasse, und die gesamte Symfony Architektur einfach darunter ablege, und dann per .htaccess z.B. schütze. Könnt ihr mir das erklären?

  • #2
    Der Sinn der Web-Resourcen ist es, dass du ein Bundle publizieren kannst welches eigene Webresourcen nutzt. Direkt im web-Folder ablegen funktioniert nicht bei Bundles, nur bei vollwertigen Seiten. (Siehe beispielsweise das Bundle welches dir die Debug-Toolbar bietet, das nutzt eigene Bilder die dann vom Resouce-Folder ins web-Verzeichnis installiert werden).
    [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

    Kommentar


    • #3
      Ok, ich habs halt so gemacht, dass ich einfach Symfony in den bisherigen web-root (htdocs) gelegt habe, ohne was zu ändern. Somit komme ich einfach an Assets ran.
      [Code]
      htdocs/
      Symfony/
      /...

      Kommentar


      • #4
        Ach, letzten satz in deinem Thread garnicht richtig verstanden: Es hat schon seine Vorteile, dass alles oberhalb des Webroots ist, so hast du von außen garkeine Möglichkeit, auf irgendwas von dort zuzugreifen. Du kannst übrigens auch den "web"-Folder umbenennen, wenn du das dann auch in der composer.json einträgst. Dann kannst du alles von symfony in dein Hauptverzeichnis packen und "web" eben nach "htdocs" umbenennen.
        [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

        Kommentar


        • #5
          Sorry wenn ich nochmal nerve, aber die Frage war ja konkret: Wie soll man Bundles, die Assets im Resource Ordner liegen haben, ausserhalb des webroots platzieren? In meinem vorigen Beitrag siehst du meine bisherige Architektur, in der ich zu verstehen versuche, wie das Symfony gedenkt zu machen. Und einfach alles Assets in kreuz und quer in den web-Ordner werfen will ich nicht.

          Kommentar


          • #6
            Nein, du wirfst selber auch keine Assets in den web/-Ordner. Dafür gibt es das AsseticBundle, dass dir die Assets in den web/-Ordner installiert.

            Jegliche Assets haben innerhalb des Resources/-Ordner in deinem Bundle zu bleiben. Den VirtualHost des Apache legst du im Idealfall direkt auf das web/-Verzeichnis. Damit ist gesichert, dass keiner an den Source-Code kommt.

            Und "kreuz und quer" ist da ja nichts im web/-Ordner? Das ist ja sauber nach Bundle geordnet?
            [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

            Kommentar


            • #7
              Ah ok, dann ist quasi dieses Bundle dafür zuständig die Assets auszuliefern. Cool, kannte ich noch gar nicht. *Glühbirne über Kopf aufleucht*

              Kommentar


              • #8
                Zur Verwendung von Assets: http://symfony.com/doc/2.3/cookbook/...anagement.html

                Zur Installation von Assets: http://symfony.com/doc/current/book/...cripts-in-twig ganz unten.
                [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                Kommentar


                • #9
                  ChristianK for president!

                  Kommentar

                  Lädt...
                  X