カテゴリー
Linux

【Laravel 5.5】WordPress の DB を使って管理者の投稿一覧ページ作りを通してお勉強

やりたいこと

  • WordPress の データベース構造をそのまま使って、管理者の投稿一覧ページを作りたい。 Laravel 5.5 を使いたい。

学んだことまとめ

WordPress

Laravel 5.5

カテゴリー
Linux

Mac に Rust 言語を本家のやり方に素直に従ってインストールと getting started した記録

環境等

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.5
BuildVersion:   18F132
$

インストール方法

カテゴリー
Linux

Laravel 5.5 で Laravel Mix での設定で Bootstrap 4 を使えるようにする

まとめ

  • Laravel 5.5 の package.json には、 "bootstrap-sass": "^3.3.7" とあり、 Bootstrap のバージョンが 3 である。これを 4 にした。
  • bootstrap-sass のバージョン 4 はなく、 単純な Bootstrap 4 を指定することからか、 package.json 以外の次のファイルの修正が必要となった。
    • resources/assets/js/bootstrap.js
    • resources/assets/sass/_variables.scss
    • resources/assets/sass/app.scss
カテゴリー
Linux

StyleCI の Laravel プリセットの各ルールが、 PHP-CS-Fixer のどのルールに対応するかをまとめた

Laravel 5.5 の妥協できる PHP-CS-Fixer 設定ファイルが完成した – oki2a24 を作る途中で、 https://styleci.readme.io/docs/presets#section-laravel の各ルールが、 PHP-CS-Fixer のどのルールと対応するのか、それは PHP-CS-Fixer の @PSR ルールや @PhpCsFixer ルールに含まれるか、の対応が知りたいと思い、一覧表にまとめました。

カテゴリー
Linux

Laravel 5.5 の妥協できる PHP-CS-Fixer 設定ファイルが完成した

妥協ライン

  • Laravel 5.5 本体に PHP-CS-Fixer を適用しても何も修正されない。
  • 作成直後の Laravel 5.5 に PHP-CS-Fixer を適用しても何も修正されない。
  • https://laravel.com/docs/5.8/contributions#coding-style に従う。しかし、 PHP-CS-Fixer によって本体や作成直後のプロジェクトが修正されてしまう場合は、最低限修正されないように最低限の変更を加える。
  • https://styleci.readme.io/docs/presets#section-laravel に従う。しかし、 PHP-CS-Fixer によって本体や作成直後のプロジェクトが修正されてしまう場合は、最低限修正されないように最低限の変更を加える。
カテゴリー
Linux

Laravel 5.5 のコーディング規約の StyleCI 設定を PHP-CS-Fixer 設定で表現しようとして後もう一息

Laravel 5.5 の StyleCI 設定を PHP-CS-Fixer で表現しようとしたもの

.php_cs.dist

<?php
/*
 * This document has been generated with
 * https://mlocati.github.io/php-cs-fixer-configurator/?version=2.15#configurator
 * you can change this configuration by importing this file.
 */

return PhpCsFixer\Config::create()
    ->setRiskyAllowed(true)
    ->setRules([
        'align_multiline_comment' => true,
        'array_syntax' => ['syntax' => 'short'],
        'binary_operator_spaces' => true,
        'blank_line_after_namespace' => true,
        'blank_line_after_opening_tag' => true,
        'blank_line_before_statement' => ['statements' => ['return']],
        'braces' => true,
        'cast_spaces' => true,
        'class_attributes_separation' => ['elements' => ['method']],
        'class_definition' => true,
        'concat_space' => true,
        'declare_equal_normalize' => true,
        'elseif' => true,
        'encoding' => true,
        'full_opening_tag' => true,
        'function_declaration' => true,
        'function_typehint_space' => true,
        'hash_to_slash_comment' => true,
        'heredoc_to_nowdoc' => true,
        'include' => true,
        'increment_style' => ['style' => 'post'],
        'indentation_type' => true,
        'lowercase_cast' => true,
        'lowercase_constants' => true,
        'lowercase_keywords' => true,
        'magic_constant_casing' => true,
        'method_argument_space' => true,
        'multiline_whitespace_before_semicolons' => true,
        'no_alias_functions' => true,
        'no_blank_lines_after_class_opening' => true,
        'no_blank_lines_after_phpdoc' => true,
        'no_closing_tag' => true,
        'no_empty_phpdoc' => true,
        'no_empty_statement' => true,
        'no_extra_blank_lines' => ['tokens' => ['extra', 'throw', 'use']],
        'no_leading_import_slash' => true,
        'no_leading_namespace_whitespace' => true,
        'no_mixed_echo_print' => true,
        'no_multiline_whitespace_around_double_arrow' => true,
        'no_short_bool_cast' => true,
        'no_singleline_whitespace_before_semicolons' => true,
        'no_spaces_after_function_name' => true,
        'no_spaces_around_offset' => true,
        'no_spaces_inside_parenthesis' => true,
        'no_trailing_comma_in_list_call' => true,
        'no_trailing_comma_in_singleline_array' => true,
        'no_trailing_whitespace' => true,
        'no_trailing_whitespace_in_comment' => true,
        'no_unneeded_control_parentheses' => true,
        'no_unreachable_default_argument_value' => true,
        'no_unused_imports' => true,
        'no_useless_return' => true,
        'no_whitespace_before_comma_in_array' => true,
        'no_whitespace_in_blank_line' => true,
        'normalize_index_brace' => true,
        'not_operator_with_successor_space' => true,
        'object_operator_without_whitespace' => true,
        'ordered_imports' => ['sort_algorithm' => 'length'],
        'phpdoc_indent' => true,
        'phpdoc_inline_tag' => true,
        'phpdoc_no_access' => true,
        'phpdoc_no_package' => true,
        'phpdoc_no_useless_inheritdoc' => true,
        'phpdoc_scalar' => true,
        'phpdoc_single_line_var_spacing' => true,
        'phpdoc_summary' => true,
        'phpdoc_to_comment' => true,
        'phpdoc_trim' => true,
        'phpdoc_types' => true,
        'phpdoc_var_without_name' => true,
        'psr4' => true,
        'self_accessor' => true,
        'short_scalar_cast' => true,
        'simplified_null_return' => true,
        'single_blank_line_at_eof' => true,
        'single_blank_line_before_namespace' => true,
        'single_class_element_per_statement' => true,
        'single_import_per_statement' => true,
        'single_line_after_imports' => true,
        'single_quote' => true,
        'space_after_semicolon' => true,
        'standardize_not_equals' => true,
        'switch_case_semicolon_to_colon' => true,
        'switch_case_space' => true,
        'ternary_operator_spaces' => true,
        'trailing_comma_in_multiline_array' => true,
        'trim_array_spaces' => true,
        'unary_operator_spaces' => true,
        'visibility_required' => true,
        'whitespace_after_comma_in_array' => true,
    ])
    ->setFinder(PhpCsFixer\Finder::create()
        ->exclude('vendor')
        ->in(__DIR__)
    )
;
カテゴリー
Linux

Xethron/migrations-generator で生成された内容で注意する点

まとめ

カテゴリー
Linux

MySQL の datetime の無難な最小値は ‘0001-01-01 00:00:00’ だった

まとめ

  • STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE である MySQL の話
  • カラムに挿入できる datetime の最小値は ‘0000-01-01 00:00:00’
  • STR_TO_DATE 関数で扱える最小値は ‘0001-01-01 00:00:00’
  • したがって、 NMySQL の datetime で実際に使うときに無難な最小値は ‘0001-01-01 00:00:00’
カテゴリー
Linux

Composer.lock の content-hash が git merge でコンフリクトした時は composer update –lock して解決できる

composer update –lock とは?

composer update --help から抜粋です。

update

The update command reads the composer.json file from the current directory, processes it, and updates, removes or installs all the dependencies.

カレントディレクトリの composer.json を読み込み、その内容を実行し、依存パッケージのアップデート、インストールまたは削除を行う。

update –lock

  --lock                     Only updates the lock file hash to suppress warning about the lock file being out of date.

無効となってしまった lock ファイルの警告を抑えるために、 lock ファイルの hash の更新を行う。

カテゴリー
Linux

Laravel 5.5 既存のデータベースからモデルを一発で逆生成した手順

まとめ