PHP関連のことを調べてみた2019年11月15日

PHP関連のことを調べてみた2019年11月15日

mb_strimwidth in PHP

# convenient build-in function

テキストデータを一定の文字数で[…]したい時に便利。
こういうのがあるのは知りませんでした。
勉強不足ですね。

“`php
$text = “春はあけぼの。やうやう(ようよう)白くなりゆく山ぎは(やまぎわ)、少し明(あ)かりて、紫(むらさき)だちたる雲の細くたなびきたる。 春は、明け方(あけがた)が良い。 だんだん、白くなっていく山ぎわが、 少し明るくなって、紫がかった雲が、細くたなびいているのが、”;

echo mb_strimwidth($text,0,120,”…”,”UTF-8″);

//春はあけぼの。やうやう(ようよう)白くなりゆく山ぎは(やまぎわ)、少し明(あ)かりて、紫(むらさき)だちたる雲の細く…
“`
http://php.net/manual/en/function.mb-strimwidth.php

元記事を表示

Laravelでartisanコマンドを自作してCommandを体感する

Laravelを勉強してて、php artisan という不思議なコマンドを何気なく使っていましたが
これを自作できるということで、自作した勉強メモです。

## artisanコマンド一覧を見てみる

まずはどんなコマンドがあるのか見てみることにしました。

“`
php artisan list
“`

このコマンドを使うことで、どんなコマンドが使えるのか、またそのコマンドの説明が表示されます。

“`
Laravel Framework 6.0.4

Usage:
command [options] [arguments]

make
make:channel Create a new channel class
make:command Create a new Artisan command
make:controller Create a new controller class
make:event Create a new event class
make:excep

元記事を表示

dockerイメージphp:7.2-apacheでImageMagickをインストール

## インストールのイメージ
ImagicをインストールするためのImageMagickのインストールが必要。
まずPHPへImageMagicのインストールを行い(※dockerfileへ記述)、その後、Imagicのライブラリをcomposerに追加する。

### インストール方法

php側でimagemagickとimagickのインストールが必要なため、dockerfileに下記を追加。

“`
 && apt-get update && apt-get install -y imagemagick libmagickwand-dev \
 && pecl install imagick \
 && docker-php-ext-enable imagick \
“`

これでbuild後、docker-compose up -d !!!ッッッターーーーーン!!!!

Linux側で、下記コマンドを叩いてImagicのライブラリを追加。

“`
$composer require spatie/pdf-to-image
$composer require spatie

元記事を表示

docker環境でお試しImageMagicをインストール

### コンテナ立て直すと消えちゃいますッ………ドゥフフッッ………

dockerでOSを汚さずに試しにImageMagic使いたいな〜〜ってときに!
またはUbuntuにImageMagicインストールしたいときに!
コンテナたてるときにインストールしたいのであれば、下記記事を参考にしてください。
※dockerイメージphp:7.2-apacheの環境です><
https://qiita.com/saya1001kirinn/items/dacf5ef6b1d66ced846a

## Ubuntu + Apatcheの環境です。

#### ImageMagickのインストール(パッケージマネージャを使ったインストール)

“`
$apt-get update
$apt-get install imagemagick
“`

PECLはPHP拡張モジュールのリポジトリとのことなので使えるとは思いますが、PHPが入ってなければ、または下記コマンド叩いて’command not found’がでたら

“`
$pecl help
“`

下記コマンドでpeclインストール

元記事を表示

[備忘録]XAMPP の PHP の設定

`php` の設定変更についてのメモ

# 動作環境

“`
Windows10 Home Edition
XAMPP 7.2.17
“`

# 設定ファイルのパス

`XAMPP` を `D:\xampp` にインストールした場合、 `php` の設定ファイルは `D:\xampp\php\php.ini` になる

# 設定項目

## タイムゾーン

デフォルトが `Europe/Berlin` なので `Asia/Tokyo` にする

“`
[Date]
date.timezone=Asia/Tokyo
“`

## OPcache

デフォルトでは無効になっているので有効化する
下記を `php.ini` の最後に追記する

“`
[opcache]
zend_extension=D:\xampp\php\ext\php_opcache.dll
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000

元記事を表示

初心者がTwitterと連動したサービスを作る 概要編

# 作りたいもの
①ボタンをクリックするとランダムでペンギンの画像が出る
②「ツイートする」ボタンをクリックで出た画像をツイートする

ペンギンの画像にするのは単純にペンギンが好きで撮りためた写真があるから?
~~初心者なんだからサイトや参考書に載ってるもの作ったほうがわかりやすいのでは
→単純にモチベが上がらない…~~

# 自分のスペック
– ディレクション・デザイン・コーディングを広く浅くやるWebデザイナー
– HTML・CSSはそこそこ、JavaScript、PHPは調べながらなんとなく
– 仕事ではmac MAMPを使って構築するので基礎はわかっているつもり

# 構築を通じて学びたいこと
・PHPとJavaScriptに慣れる
・Windowsでコーディングできるようにする
・PHPやサーバーなどの環境構築をできるようにする
・GitHubを使えるようにする

# 不安点
– 他の人のアカウントでツイートするには、認証とか大変かも?
– いきなりTwitterと連携とかプログラミング初心者には難しいのでは?

# まずは段階を踏んで制作してみる
何もわからず突っ走ってボ

元記事を表示

【Laravel】MAIL_DRIVER=sendmail, MAIL_DRIVER=smtp の違い。PHPのmail関数の挙動。

[Laravelのmailableクラスでメール送信を行う[導入/入門編]](https://www.ritolab.com/entry/38)

>smtp
SMTPサーバーから送信する。一般的な送信方法。
sendmail
PHPのmail関数で送信する。

[PHP: mail – Manual](https://www.php.net/manual/ja/function.mail.php)

### mail関数はSMTPから送信していないのか?

[PHP: 実行時設定 – Manual](https://www.php.net/manual/ja/mail.configuration.php)

> php.ini の設定により動作が変化します。

`sendmail_path` に設定しているパスが呼ばれる

Windows環境の場合は`sendmail_path`が設定されていなければ
`SMTP`に設定されているSMTP サーバーのホスト名または IP アドレス(デフォルトではlocalhost)に
`smtp_port`設定で指定したサーバーに接続するポート

元記事を表示

Moodle 3.7 マニュアル – Moodle の移設

[原文](https://docs.moodle.org/37/en/Moodle_migration)

Moodle の移設

There may be times when you need to move your Moodle site from one server to another. For example, moving a Moodle site from shared hosting service’s server to a dedicated server.
Contents

[1 推奨する方法](#1 推奨する方法)
[1.1 メンテナンスモードにする](#11 メンテナンスモードにする)
[1.2 古いサーバ上で Moodle データベースをバックアップする](#12-古いサーバ上で-moodle-データベースをバックアップする)
[1.3 バックアップを新しいサーバにリストアする](#13-バックアップを新しいサーバにリストアする)
[1.4 moodledata を古いサーバから新しいサーバにコピーする](#14-moodledata-を古いサー

元記事を表示

Magento2の開発環境をDockerで構築する

dockerでMagento2の開発環境を作成しようとしたら、かなり苦労したのでメモ
完成したimageは以下
https://hub.docker.com/repository/docker/hiros1991/php72-apache-magento-develop

## 環境
– docker for mac
– docker-sync(これが結構大事)
– php:7.2-apache (公式イメージ)

## docker-syncについて

通常のvolumeだとかなり読み込みが遅くなるので使用しました。
以下を参考にしました。
https://qiita.com/pocari/items/0340049742927f3a94b7

## Dockerfile

“`dockerfile
FROM php:7.2-apache AS dev

RUN apt-get update -qqy && apt-get install -qqy \
libfreetype6-dev \
libicu-dev \
libjpeg62-turbo-dev \

元記事を表示

5分で作るPHP開発環境(Docker-compose)

PHPの開発環境が欲しくて色々調べたところ、XAMPPなんて便利なものがあるらしい。
ただここはインフラエンジニアらしくdockerで作ることにした。
ネットに散々ナレッジは落ちてるが、環境が違ったり情報が古かったりと中々動いてくれなかったので、トラシューなども含めてメモしておく。
###動作検証環境
– macOS
– Sierra vr10.12.6
– docker
– Docker version 19.03.1
– docker-compose
– docker-compose version 1.24.1

## いいから早くさわらせろ
###コンテナの起動
https://github.com/yuto-miyazawa/Docker-Compose
詳しくはREADMEを参照。
前提としてdocker,docker-composeコマンドは入れておくこと。

1.上記のgitリポジトリをお手元にclone
2.カレントディレクトリを「lamp」移動
3.下記のコマンドでコンテナを起動

“`
docker-compose up -d

元記事を表示

リファクタ

“`php

if ($comicTrial->is_published) {
$webUrl = config(‘const.web_base_url’) . ‘/comic/comic_trial/’ . $comicTrial->slug . ($isMobile ? ‘?force_sp=1’ : ”);
return redirect($webUrl, 302, [], true);
}

$previewToken = $previewTokenRepository->createOrUpdate(‘comic_trial’, $comicTrial->slug);

$previewUrl = config(‘const.web_base_url’) . ‘/comic/comic_trial/’ . $comicTrial->slug . ‘?token=’ . $previewToken->token . ($isMobile ? ‘&force_sp

元記事を表示

PHPページの入力フォームでキーワード確定に使用するキー

モバイルアプリ入力フォーム画面でキーワードフィールドへの入力内容の確定に全角カンマ「、」を半角カンマ「,」の代わりに使う方法ご存知ですか。英語圏は半角カンマで機能しているそうですが、全角対応がPCで可能になったのですが、モバイルが機能せず、かつ海外の開発者再度の日本語入力画面では、全角カンマが機能するように修正されています。同様の事例で解決した事あるかたアプローチをシェアいただけないでしょうか。

元記事を表示

FuelPHPで各種エラーレスポンスを返す

# 404 Not Found
“`php
throw new HttpNotFoundException;
“`

# 500 Internal Server Error
“`php
throw new HttpServerErrorException;
“`

元記事を表示

Laravelでクエリログを確認

“`php
\Illuminate\Support\Facades\DB::enableQueryLog();
// query処理
dd(\Illuminate\Support\Facades\DB::getQueryLog());// クエリログ確認
“`

元記事を表示

PHPでディレクトリが無ければ作成

“`php
if(strlen($target_dir) > 0 && !is_dir($target_dir)) mkdir($target_dir);
“`

元記事を表示

新規プロジェクトの技術スタックについて

はじめまして、株式会社PRECSの室(ムロ)といいます。
PRECS社ではECシステムをショップに提供するサービスを行っており、現在は社内のエンジニアが20名ちょい、外部の協力エンジニアも含めると30人程度の体制で開発を行っています。

自分は弊社で進めている新規プロジェクトの開発責任者的なことをやっていて、ガリガリコーディングを・・・というよりかはプロダクトオーナー的な立ち位置にいます。
今回は初めての投稿ということで、新規プロジェクトで採用している技術スタックについて簡単にまとめてみました。
各技術の具体的な内容については、今後、別のメンバーが投稿してくれるのに期待します(笑)
(以下の内容は 2019/11/14 時点でのものです)

# XD

プロトタイプ作成に利用しています。
最近、共同編集やコンポーネントのステート管理もできるようになり、便利になってきたのこと。
今後の Adobe のアップデートに期待。

# React + Redux + TypeScript

フロントのフレームワークとして React を採用。
Redux でのステート管理、TypeScript

元記事を表示

Laravelで銀行マスタのバッチ更新処理

## 目的
銀行マスタのZipファイルを下記のURLよりダウンロードして、Laravelのバッチで銀行マスタを定期的に更新する処理を実装する
http://ykaku.com/ginkokensaku/ginkositen1.zip

## コマンドのクラス定義を追加
app/Console/Kernel.php

“`
protected $commands = [
DownLoadBankMasterZipFile::class,
];

protected function schedule(Schedule $schedule)
{
$schedule->command(‘downLoadBankMaster’)->dailyAt(’02:00′);
}
“`
## バッチクラスを作成
下記のコマンド実行でバッチクラスを作る
php artisan make:console DownLoadBankMasterZipFile –command=”downLoadBankMaster”

##

元記事を表示

laravel repositoryパターン 他のrepositoryを使いたいとき

“`php
class AAController extends BaseController
{

protected $externalImageRepository;

/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(
Request $request,
ComicTrialRepositoryInterface $comicTrialRepository,
ExternalImageRepositoryInterface $externalImageRepository,
ここ-> StaffRepositoryInterface $staffRepositoryInterface
) {
parent::__construct($request);

$this->repository = $

元記事を表示

ソケットでメールを送ってみよう

まぁ、phpならメール関数使うなり、ライブラリいっぱい転がってるんで
そういうの使ったほうがいいです。
当然。

ただ、SMTPの生コマンドで送ってみよう というだけの話です。

前提条件として、認証なしのSMTPサーバがローカルにある という前提。
認証ありの場合、HELOコマンドをEHLOに変えてごにょごにょして下さい。

“`php

$toList[] = “abc@user.example.com”;
$toList[] = “abc2@user.example.com”;
$toList[] = “abc3@user.example.com”;
$from = “admin@example.com”;
$body = ‘TEST MAIL
テストメール’;
$body = mb_convert_encoding($body,”JIS”);
$sub = mb_convert_encoding(“Subject: ソケットでメール”,”JIS”);
$server = “127.0.0.1”;

$socket = fsockopen($server,25);
fputs

元記事を表示

【Laravel】Redirectorの主なメソッド

# ルートおよびactionを指定する
ルートの情報設定やコントローラのアクションを指定する場合に使用する。

“`php
redirect()->route(ルート名,配列)
redirect()->action(アクションの指定,配列)
“`
# ビューを指定する
ビューを指定してリダイレクトします。
アクションメソッドなどで
return viewするときに用いられる
名前と同じものです。

“`php
redirect()->view(ビュー名)
“`
# JSONデータを返す
JSONデータをクライアントに返す場合に用いられるものです。
引数にはJSON形式のテキストを指定します。
これで指定のJSONデータを指定することができます。

“`php
redirect()->json(テキスト)
“`
# ファイルを返す
ファイルをダウンロードしたり、
表示したりするためのものです。
引数には利用するファイルのパスを
テキストで指定します。
ファイルをダウンロードしたり
PDFやイメージファイルを
表示させたりすることが簡単にできます。

“`php
redire

元記事を表示

OTHERカテゴリの最新記事