2016-05-23 8 views
0

私は新しい、より長い実行中のPHPプロジェクトに取り組み始めています。フレームワークのファイルからファイルを分離することなく、フレームワークを更新できるように、可能な限り私のファイルをフレームワークファイルから分離したい。Composerからいくつかのフォルダを必要とし、カスタムパスにインストールするだけです

Javaでは、私はmavenを使用し、すべてをlibフォルダに入れてください。そこから、libsを自分のコードにインポートします。私はphpのための同じツールが作者であることを学んだ(または私はそう思っている;))しかし、私はそれを使い始めるのに苦労している。

私はphpstormにおけるプロジェクトや作曲を構成し、この(私が個人情報を削除した)ように見えるcomposer.jsonファイル、コメントを追加しました:あなたが見ることができるように

{ 
    "name": "example", 
    "description": "description_text", 
    "minimum-stability": "stable", 
    "license": "proprietary", 
    "authors": [ 
    { 
     "name": "author's name", 
     "email": "[email protected]" 
    } 
    ], 
    "require": { 
    "twbs/bootstrap": "v4.0.0-alpha.*", 
    "laravel/laravel": "v5.2.*", 
    "components/jquery": "2.2.*", 
    "components/font-awesome": "4.6.*" 
    }, 
    "config": { 
    "vendor-dir": "laravel/laravel/public" 
    } 
} 

を、私はにすべてを移動しようとしましたlaravelのパブリックフォルダ。BootstrapとjQueryはAFAIKに属しています(このパスは観測に基づいており、laravel自体はvendor/laravel/laravelに置かれています)。もちろん、ララベルもそこに置かれます。

さらに、コンポーザーは必要以上にダウンロードします。たとえば、bootstraps distフォルダ(ブートストラップ4の場合はcssとjs(最小ファイルのみ))の内容が必要ですが、ドキュメントなどもインストールされます。

私はこれに慣れていないので、私が望むものが可能かどうか、それをどうやって行うのか分かりません。私は自分の問題の多くは、laravelと他のものをすべて同じcomposer.jsonファイルにインストールしようとしているという事実から来ていると思います。

お手伝いできますか?あなたはそうはLaravelはので、config composer.jsonを削除含まvendorディレクトリ内のすべての "フレームワーク" を配置したいthis Laravelのドキュメントを参照:)

よろしく

クリスチャン

+1

** php **のものには 'composer.json'、JSの関連するコードには' jspm'を使用していますか?なぜあなたはそれをPHPパッケージマネージャーと混在させていますか? 'jspm'でこれは簡単です。それを見てください。 –

答えて

0

vendorディレクトリには、Composerの依存関係が含まれています。あなたがアイテムを配置しようとしている

は、リソース

publicディレクトリはフロントコントローラと、アセット(画像、JavaScript、CSSなど)を含むためです。

appは、クラスなどを配置する場所です。

これらのフレームワークでは、不必要なファイルが肥大化しているため、手動で削除する以外にも、これらのフレームワークをきれいにする素晴らしい方法は見つかりませんでした。

私はメイヴンと作曲家の間に結論を導こうとしていましたが、ポスト・ウェイを大きくしていました。あなたはこれがPHP mavenに一番近いものであるということは間違いありません。それがあることが必要であるとして、フレームワークのバージョンに縛らとしてあなたのコードがあるということである

EDIT

私は再読み込みなど、あなたの質問に良い答え。私は、開発中のどのバージョンでも下位互換性が損なわれるとは思わない。少なくとも私は望んでいないし、あなたが新しいバージョンを知っていれば、おそらくはベータ版/開発版/夜間版になるかもしれない。

私の上記の声明では、作曲者はこの方法で説明した方法で作業するように設計されています。あなたが作曲家のpsr-4オートローディング部分を使いたいときにも、これはあなたを大いに助けるでしょう。

いずれの場合でも、ベンダーはあなたの.m2ローカルレポと考えてください。

+0

こんにちは、ネーディリストであり、あなたの返信に感謝します!さて、あなたが理解していれば、 "通常の方法で" laravelをダウンロードすることを提案しています。そして、ダウンロードしたコピーのcomposer.jsonを変更して、ブートストラップとjQueryが必要ですか? これは "クリーン"な方法であるかどうか分かりませんが、私が想像する可能性はgitサブモジュールを使用していることです。これにより、開発中にlaravelを最新の状態に保つこともできますが、余分なファイルも取り除くことはできません。 – Christian

+0

@Christian no私がLaravelの文書で見ることのできるところには、ブートストラップが必要な 'bootstrap'ディレクトリがあります。フレームワークとして必要と思われるものは、コンポーザーのインストールで 'vendor 'に追加されます。 – nerdlyist

関連する問題