LoginSignup
6
6

More than 5 years have passed since last update.

ぼくのさいきょうの開発環境/composer で入れてったメモ

Last updated at Posted at 2017-09-25

phpoffice/phpexcel

得られる能力:PHPでエクセルファイルを扱えるようになれます

インストール

$ php-7.0 ~/bin/composer require "phpoffice/phpexcel"
$ php-7.0 ~/bin/composer dump-autoload

使い方

config/app.php に登録 => しない

$Excel = new Excel();
$filepath = 'masters.xlsx';
$datas = $Excel->getExcelData($filepath);
app/Model/Excel.php
class Excel {
    function __construct(){
        $vendor = dirname(dirname(__DIR__)).'/vendor/phpoffice/phpexcel/';
        require_once($vendor.'/Classes/PHPExcel.php');
        require_once($vendor.'/Classes/PHPExcel/IOFactory.php');
    }
    // エクセルを連想配列に変換
    public function getExcelData($filepath){
        ...
    }
}

みたいな。

拡張子によるバージョン違い

'xls'  => 'Excel5'
'xlsx' => 'Excel2007'

intervention/Image

得られる能力:簡単に画像のリサイズ他編集ができるようになれます

多分 Imagick が必要です。
CPI はデフォで入ってるみたいです。(検証してませんすみません)
 ⇒ EC2 の Laravel に Imagick をインストールする

インストール

$ php-7.0 ~/bin/composer require "intervention/image"
$ php-7.0 ~/bin/composer dump-autoload

使い方

config/app.php に登録 => する

config/app.php
    'providers' => [
        ...
        'Intervention\Image\ImageServiceProvider',
        ...

    'aliases' => [
        ...
        'Image' => 'Intervention\Image\Facades\Image',
        ...
class Hoge {
    function Fuga ($from_fullpath, $to_fullpath) {
        $image = \Image::make($from_fullpath);
        $image->resize(320, null, function($constraint){
            $constraint->aspectRatio();
        });
        $image->orientate();

        $image->save($to_fullpath);
    }
}

みたいな。

tecnick.com/tcpdf

得られる能力:簡単に PDF ファイルが作れるようになれます

インストール

  【参考】 Laravel5.1でbladeテンプレートを用いてPDFを作る に非常に多く助けて頂きました。

$ php-7.0 ~/bin/composer require "tecnick.com/tcpdf"
$ php-7.0 ~/bin/composer dump-autoload

使い方

config/app.php に登録 => しない

use TCPDF;

class Hoge {
    function makeODF(){
        $pdf = new TCPDF();
        //プリントヘッダー非表示
        $pdf->setPrintHeader( false );
        //フォント名,フォントスタイル(空文字でレギュラー),フォントサイズ
        $pdf->setFont('ipaexg','',14);
        //ページを追加
        $pdf->addPage();
        //viewから起こす(table で組む)
        $pdf->writeHTML(
            view('pdf.view', compact('customer', 'data', 'facility_names', 'bathings', 'templates'))->render()
        );

        //第一引数はファイル名、第二引数で挙動を指定(D=ダウンロード)
        /**
         * $pdf->output('hoge' . '.pdf', 'I');
         * I: ブラウザに出力する(既定)、保存時のファイル名が$nameで指定した名前になる。
         * D: ブラウザで(強制的に)ダウンロードする。
         * F: ローカルファイルとして保存する。
         * S: PDFドキュメントの内容を文字列として出力する。
         */
        $pdf->output($dirs['fullpath'].'/'.$filename, 'F');
        $pdf->output($filename, 'D');
    }
}

みたいな。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6