20211010のPHPに関する記事は4件です。

【第八回】コロナ禍だから何かできることをー 自宅療養者連絡ツール ー

前回までのあらすじ 【第七回】コロナ禍だから何かできることを 実装イメージ図 LINEを利用して保健所の担当者の負担を軽減するとともに、自宅療養者はいつでもつながっている安心感を持たせるためのツールイメージです。 今回はWEB画面上でできる機能の説明をします。 権限情報 前回、作業者の権限によって利用できる画面が変わると説明しました。 実際に利用できる画面が以下のようになります。 画面名 システム管理者 管理者 作業管理者 作業者 ログイン 〇 〇 〇 〇 メニュー 〇 〇 〇 〇 連絡情報 〇 〇 〇 〇 連絡修正 〇 〇 〇 〇 利用者情報 〇 〇 〇 × 利用者修正 〇 〇 〇 × 地区情報 〇 × × × 地区修正 〇 × × × 作業者情報 〇 〇 × × 作業者修正 〇 〇 × × 個人情報 〇 〇 〇 〇 各画面説明 ログイン ユーザーコードとパスワードを入力し、ログインボタンからログインします。 メニュー ログインが認証されれば、メニュー画面を表示します。 メニュー画面には、未確認と自宅療養中の利用者で、以前からのコンタクトが24時間以上空いている一覧を表示します。 詳細ボタンから、連絡先を表示しアクションを起こすことができます。 連絡情報 連絡情報からは、検索のフィルタが存在します。 状態 利用者の状態を絞って検索します。すべてチェックがない場合は、未確認と自宅療養中のみが対象となります。 利用者名 任意検索できます。文字列の順番も関係なくイメージのデータだと「やまだ」と「太郎」で2件ヒットします。 住所 同じく任意検索でき、文字列の順番も関係ありません。 LINE連携 LINE連携がされているかどうかの絞り込みです メニューと同じく詳細ボタンから、連絡先を表示しアクションを起こすことができます。 連絡修正 利用者の詳細が表示されます。 連絡先や住所から、電話連絡や訪問を行い、状態変更に情報の入力を行います。 一覧で、処理をした履歴を確認することもでき、LINEとの連係情報も表示されます。 情報入力 利用者情報 利用する情報を表示します。 LINE連携をする際に伝える番号がこのコードになります。 今回は入力方式のみでの実装ですが、ここからQRコードの発行機能をつけてLIFFをQR読み取り処理に変更すればもう少し親切になるかと思います。 利用者修正 利用者の新規、修正共に利用する画面です。 地区情報 地区の一覧を表示します。 ここから、新規・修正を行います。 地区修正 地区の新規、修正共に利用する画面です。 作業者情報 作業者の一覧を表示します。 ここから、新規・修正を行います。 作業者修正 作業者の新規、修正共に利用する画面です。 ここでは自分の情報を修正することはできないようにしているため、個人情報画面での変更になります。 個人情報 ログイン者全員が使える画面で、パスワードや名称を変更することができます。 コロナ禍だから何かできることをー 自宅療養者連絡ツール ー 【第一回】実装イメージ図と動画 【第二回】LINEからデータを取得して返すまでの流れ 【第三回】LINEからデータベースまでの流れ 【第四回】データベースへの更新までの流れ 【第五回】ユーザー登録の仕組み-LINEbotの設定部分 【第六回】ユーザー登録の仕組みLIFFで表示する画面の開発 【第七回】データベースの構造 ->>【第八回】WEB画面上でできる機能 【第九回】まとめ
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【超初心者向け】プロゲートで本当に身に付くプログラミング学習方法

目的 プロゲートで本当に身に付くプログラミングの学習方法を紹介します! 記事は下に移動しました!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

npm install && npm run devのエラー発生

npm install && npm run devのエラーが発生 //下記エラー npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @ development script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR!     /root/.npm/_logs/2021-09-26T13_18_53_799Z-debug.log npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ dev: `npm run development` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @ dev script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR!     /root/.npm/_logs/2021-09-26T13_18_53_836Z-debug.log 原因 package.json内のバージョンが原因でnode.jsのライブラリをインストールしようとするとエラーが発生した模様 解決策 package.json "devDependencies": { "axios": "^0.19", "bootstrap": "^4.6.0", "cross-env": "^7.0", "jquery": "^3.6", "laravel-mix": "^5.0.1", "lodash": "^4.17.19", "popper.js": "^1.16.1", "resolve-url-loader": "^3.1.2", "sass": "^1.32.11", "sass-loader": "^11.0.1", // "10.1.1"に変更。 "vue": "^2.6.12", "vue-template-compiler": "^2.6.12" } laravel-mixのバージョンが5系だったので、6系だと下記の書き方が少々違っていた模様。 [webpack.mix.js] mix.js('resources/js/app.js', 'public/js') .vue() //コメントアウトする。もしくは消す。 .sass('resources/sass/app.scss', 'public/css'); 下記コマンドで再度インストールする。 //nodeモジュールを削除 rm -rf node_modules //package-lock.jsonファイルを削除 rm package-lock.json //npmのキャッシュをクリア npm cache clear --force //再インストール npm install //再度、動作確認 npm run dev 以上
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

PHP -正規表現に関する関数-

PHP 正規表現に関する関数 主な正規表現 意味 正規表現 記述例 記述例の意味 文字列の冒頭 ^ ^line 冒頭にある「line:」 文字列の終端 $ 。$ 終端にある「。」 改行文字を除く任意の1文字 . ... 任意の3文字。例えば「abc」,「xyz」などにマッチ いずれか [] [abc] 「a」,「b」,「c」のいずれか1文字 文字の範囲 - [a-zA-Z0-9] a ~ z ,A ~ Z, 0 ~ 9のいずれか1文字 以外 [^] [^0-9] 0 ~ 9以外の1文字 指定回数の繰り返し {n} [0-9]{3} 0 ~ 9の連続する3文字 指定回数の繰り返し範囲 {n,m} [a-zA-Z]{1,3} アルファベットの1~3回の繰り返し。「ab」や「ABC」などがマッチする 1回以上の繰り返し + [a-zA-Z]+ アルファベットの1回以上の繰り返し。「a」や「abcde」などがマッチする 0回以上の繰り返し * abc*de cがないか、または1つ以上ある。「abde」,「abcde」,「abccde」などがマッチする 0または1回の繰り返し ? abc?de cがないか、または1つある。「abde」,「abcde」にマッチする いずれか | abc | xyz abcまたはxyzのいずれかにマッチする preg_match 指定した文字列の中に、正規表現で指定したパターンが存在するか調べる時にはpreg_match関数。 preg_match関数は指定した文字列の中に正規表現で指定したパターンがあれば、戻り値として1を返し、なかったら0を返します。 なので、下記のコードのようにif文の条件式でうまく使うことが可能です。 <?php // preg_match関数の使用例 $code = '123-4567'; // 郵便番号の形式が正しいかチェック if(preg_match('/^[0-9]{3}\-[0-9]{4}/u', $code)){ echo '正しい郵便番号です。'; }else{ echo '間違った形式の郵便番号です。'; } preg_replace 正規表現でマッチした文字列を置換したいときは、preg_replace関数を使います。 丸括弧()で囲まれた部分が順に${1},${2},${3}の参照番号に代入されます。 <?php // 生年月日をハイフン区切りから〇〇〇〇年〇〇月〇〇日の形に置換する $date = '2021-10-09'; $date = preg_replace('/([0-9]{4})\-([0-9]{2})\-([0-9]{2})/u', '${1}年${2}月${3}日', $date); echo $date; // 結果:2021年10月09日と出力 preg_split 正規表現で区切り文字を指定して文字列を分割するには、preg_split関数を使います。 <?php // 文字列を一つずつ分解する $chars = preg_split('//u', 'Hello World', -1, PREG_SPLIT_NO_EMPTY); print_r($chars); // 文字列を改行で分解する $message = <<< TEXT preg_split関数の 実例を紹介しています。 参考にしてみて。 TEXT; $lines = preg_split('/(\r\n|\r|\n)/',$message); print_r($message); preg_quote 正規表現として意味を持つ記号類を、バックスラッシュ記号()で一括してエスケープしたい時に使うのがpreg_quote関数です。 正規表現の特殊文字は、次のものです。 . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - # 第2引数にはエスケープ対象の文字を追加したい時に指定します。PCRE正規表現を使う場合には一般的に「/」を指定します。 バージョン7.2.0より第2引数のnullableが可能になり、7.3.0より#文字がクオートされるようになりました バージョン 説明 7.3.0 # 文字がクォートされるようになりました。 7.2.0 delimiter(第2引数) は、nullable になりました。 <?php $keywords = '$40 for a g3/400#'; $keywords = preg_quote($keywords, '/'); echo $keywords; // \$40 for a g3\/400\# を返します
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む