2016-12-07 4 views
0

私はファイル変換docx to pdfを使っていくつかのプロジェクトに取り組んでいますが、私はssh接続を持っていない共有ホストサーバーを使用しています。使用するオプションはFtpです。どのようにPHPパッケージの作曲家を避けるために?

phpwordのようなコンポーザーを使用せずにライブラリとしてパッケージを抽出するオプションはありますが、ポータブルで基本的にサーバーフォルダにコピーできますが、コンバーターパッケージはcomposerでのみ利用できます。 私はパッケージから必要なファイルを抽出しようとしましたが、中核となるautoloader.phpが必要で、私が見ているのは、携帯用のソースファイルを変更することだけです。

オプションがありますか?

私はcomposerで新しく、携帯用の抽出パッケージの確実性を理解することができません。

提案がありますか? ありがとう!

答えて

3

作曲依存

はい、私もこの「作曲」の問題に遭遇しました。たくさんの開発者がさまざまな理由でそれを好んでいるようですが、小さなパッケージを試したり、FTPアクセスしかできない場合は、別の依存関係が導入されます。大きなフレームワークの場合、私はこれを理解することができますが、少数のクラスを持つ小さなコードでは意味がありません。

例:私は出力にODS形式のExcelファイルを望んでいたし、それを行うには、コードの比較的単純な作品が見つかりました:

https://github.com/Lapinator/odsPhpGenerator

残念ながら、最新バージョンが作曲に依存します。コードを使用する他の方法は提供されていません。開発者はおそらくこれを利点と見なしますか?まあ、私はしません。じゃあ何をすればいいの?コンポーザーパスを強制的に使用するか、コードを少しハックしますか?

後者は、思ったよりもはるかに簡単です。必要なのは、のautoload.phpファイルの内容だけです。このファイルはおそらく、SPL関数を使ってパッケージのクラスを見つける場所をPHPに伝えます。あなたはあなた自身のオートローダを書いてみることができますが、私のパッケージには、そのすべてのPHPファイルを必要とするので、私は単にこれを書いた:

require_once('../src/ods.php'); 
require_once('../src/odsDraw.php'); 
require_once('../src/odsFontFace.php'); 
require_once('../src/odsStyle.php'); 
require_once('../src/odsTable.php'); 
require_once('../src/odsTableCell.php'); 
require_once('../src/odsTableColumn.php'); 
require_once('../src/odsTableRow.php'); 

をパッケージにautoload.phpとして、それは作曲を使用せずに働いていたことを追加した後。

私の意見では、開発者は作曲者のプロセスを経ることなくこのような小さなパッケージを試す方法を提供するべきです。彼らは正しいことをしたいと思っているので、おそらくこれをしません。もちろん、作曲家に慣れてしまえば、それは大したことではありません。

+0

私は最近、自分のautoload.phpファイルを書いています。作曲家を使って。ご回答ありがとうございます。 – Ingus

0

コンピュータ上でcomposer installを実行し、すべてのファイルをサーバーにコピーすることはできます。 vendorフォルダには、すべてのコンポーザの依存関係が含まれています。

+0

私はコンポーザーですべてのパッケージをインストールしようとしましたが、クラスに問題があり、見つかりませんでした。クラスphpパスを含めると、私はdublicateを持っています。作曲家やパッケージ自体に何か問題がありますか? – Ingus

+0

ベンダーフォルダを削除してから、 'composer install'を実行し、コードに' vendor/autoload.php'が必要です。 –

0

Composerはライブラリインストーラではありません。更新後に誰もがサイトをバックアップするのを待っている間に、運用サーバー上で実行されることは想定されていません。

私は、FTPアクセスのみを提供するホスティング会社はおそらくあなたのお金を得るべきではないと主張します(セキュリティ上の理由から、パスワードは誰でも読むことができるようにクリアテキストで送信されます)。しかし、 SSHはサーバー上には必要なく、ローカルマシン上でのみ必要です。

ローカルとリモートの両方で同じPHPバージョンを実行していることを確認するか、リモートPHPバージョンでは使用できないライブラリをインストールしてください。

+0

それは大学のプロジェクトの仕事なので、ええ、私は数ヶ月間使用されるgonaサーバにお金を費やしたくありません... – Ingus

関連する問題