command palletでswaggerと入力してswagger viewerを読み込む

なるほど、こんなにあっさり行くものなのね
ブラウザ版もあるようです
随机应变 ABCD: Always Be Coding and … : хороший
command palletでswaggerと入力してswagger viewerを読み込む

なるほど、こんなにあっさり行くものなのね
ブラウザ版もあるようです
特定のブランチ or タグ
$ git clone -b ブランチ名 https://リポジトリのアドレス
おおおおおおおお、一気に進んだ!
$ git config –global http.proxy http://proxy.example.com:8080
$ git config –global –list
$ cat ~/.gitconfig
なるほど!
Visual Studio Code
https://code.visualstudio.com/

Download Mac Universal

windows系で色がとっつきにくい印象があったがそうでもないか。。。
OpenAPIはREST APIの定義を記述する規格
APIサーバがどのような挙動をするかを記した設計書
従来はSwagger Specificationと呼ばれた
### メリット
・決まったフォーマットで規定できる
・そのままAPIドキュメントになる
・API定義からサーバ・クライアントのコード生成ができる
サンプル
https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml
### OpenAPI Generator
何らかの構造を定義して、定められた形式で定義
どのエンドポイントがどんなリクエストを受け付けてどんなレスポンスを返すのか
### OpenAPI
info, servers, paths, tags/externalDocs, components

Swagger Toolなどで生成する
### OpenAPI Generatorのはじめ方
openapi-generator generate -i ./openapi.yml -g php -o./php-api-client
### OpenAPIを使ってみる
openapi.yaml
openapi: "3.0.3"
info:
title: "Sample API"
version: "1.0.0"
paths:
"/message":
get:
summary: "Sample API get operation"
descrption: "Sample API get operation"
responses:
"200":
description: "Success operation"
content:
application/json:
schema:
type: string
example: "Hello World !"
$ sudo docker run –rm -v “${PWD}:/home/vagrant/dev/test” openapitools/openapi-generator-cli generate \
-i /home/vagrant/dev/test/openapi.yaml \
-g php-laravel \
-o /home/vagrant/dev/test/php-laravel
-attribute paths.’/message'(get).descrption is unexpected
ん? どういうことだ?
yamlファイルを作成してから、openapiでコードを生成する?
いまいち流れがわからん?
OpenAPI Generator から コードを作成することができるのね。
$str = "0aZ";
if(preg_match("/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=\S+$).*$/", $str)){
echo "マッチします。";
} else {
echo "マッチしません。";
}
\S+$は半角を含まないという意味かな
なるほど、理解に時間がかかったわ
test.php
$str = "123-4567";
if(preg_match("/^[0-9]{3}-[0-9]{4}$/", $str)){
echo "マッチします。";
} else {
echo "マッチしません。";
}
正規表現 半角文字
/^[\x21-\x7e]*$/
うーん 難しいな
SCM Manager: https://scm-manager.org/
easy way to share and manage git repositories
GitをGUIで管理できるツール
なるほど、SCMで管理しているのではなく、ソース自体はGithubなどで管理していることは変わりないのね
"repositories": {
"my/repo": {
"type": "vcs",
"url": "https://github.com/my/repo"
}
}
RepoProject/composer.json
{
"name": "sample-vendor/ralabel",
"description": "Composerサンプルプロジェクト",
"license": "MIT",
"autoload": {
"psr-0": {
"Ralabel\\":"src/"
}
}
}
DummyProject/composer.json
{
"repositories": [
{
"type": "vcs",
"url" : "/home/vagrant/dev/composer/RepoProject/"
}
],
"require": {
"sample-vendor/ralabel": "dev-master"
}
}
composer.jsonのscriptsはコマンドだけで実行できる
ライブラリ側でcomposer.jsonを作成して、利用側のcomposer.jsonでrepositoriesで指定してパーツを利用するのか、、
なるほど、repositoriesの使い方を理解した。
composer.jsonのバージョン指定方法
-dev: 開発中
-rc: 公開前
-stable: 安定版
requireは必ず必要なパッケージ
require-devは開発用だけで必要なパッケージ
本番環境では、composer install -no-devとしてインストール
### オートロード機能
オートロード機能は自動でclass fileを読み込む機能
psr-4: 名前空間とcomposer.jsonの存在するディレクトリからの相対パスの対応付け
"autoload": {
"psr-4" : {
"App\\": "app/"
}
}
autoloadセクションを編集した場合、下記コマンドを実行して変更を反映
$ composer dump-autoload
### バージョン指定
"config": {
"platform": {
"php": "5.5.9"
}
}
$ php composer.phar suggests
インストールしたパッケージと共に利用すると良い関連パッケージ
repositories: カスタムパッケージのリポジトリを設定
Custom package repositories to use.By default Composer only uses the packagist repository. By specifying repositories you can get packages from elsewhere.
vcs: The version control system repository can fetch packages from git, svn, fossil and hg repositories.
Repositories are not resolved recursively. You can only add them to your main composer.json. Repository declarations of dependencies’ composer.jsons are ignored.
prefer-stable:When this is enabled, Composer will prefer more stable packages over unstable ones when finding compatible stable packages is possible. If you require a dev version or only alphas are available for a package, those will still be selected granted that the minimum-stability allows for it.
repositoriesの箇所はテストする必要がある