勉強とは思っていないけど図書館で参考書を読んでいます.

2024.07.26

Logging

おはようございます.勉強とは思っていないけど図書館でReact.jsの参考書を読んでいます.読んでいるだけで実践はあまりしていない.仕事では使っていたり、たまにしている.でも、まだ使いこなせてはいない.

ちなみに週一、二回のペースで図書館で勉強している感じですね.React.jsの勉強していて損にはならないと思っています(React.jsシェア率は高いので潰しが効くらしい).今まで自分はバックエンドエンジニアとしてやってきたけど、フロントも身に着けないといけないみたいな雰囲気になってきている.

今のところ、従業員、自分しかいない感じなのでマルチに動いてほしいだろうという感じがしますが、未だにReact.jsの良さが分からない自分がいます.恐らくそこまで使いこなせていないからそういう感じになるだろうな.

phpはある程度まで出来るようになったけど、DDD(ドメイン駆動設計)を一から構築しなさいと言われると難しいかな.人が作ったものに対しての修正や機能追加などは出来るだけどね.まだphperではない.

上には上がいて下には下がいる.基本、上ばっかりみているから凹む.自分より下の人っているかなぁ🤔.総合的に判断して自分はコミュ障なので普通にみんな出来るように見えるだよなぁ.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

DDD, php, PHPer, React.js, React.jsシェア率, コミュ障, ドメイン駆動設計, バックエンドエンジニア, フロント, ベース, 修正, 勉強, 図書館, 実践, 従業員, , 未だ, 程度, , 雰囲気,

ランキングと一言メッセージ機能を追加した話.#wordPress

2024.07.20

Logging

おはようございます.先日ちょこちょこっとランキングと一言メッセージ機能を追加しました.ちなみに両方を追加するにかかった時間は20分もかからずに追加.昔、PHPを独学で始めたときからすれば圧倒的に速く対応が出来るようになっているのだけども、それと相反して簡単過ぎて喜びや達成感があまりないのが問題.

今後、大きな機能変更する可能性が少しあってWordPressとVueで構築し直そうかなと思っている.まだ、思っているだけで出来たら良いなぐらいです.ググるとその方法を書いているサイトが結構あるのですが、プラグインの対応が書かれていない.そこが解決出来るのであれば変更してみたい気持ちはあります.ちなみにVue等で構築するとSEOに強くなるらしいです.

今回、機能追加した二点ですが、とくに一言メッセージを推しています.使って頂けると結構励みになりますので是非.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

php, SEO, Vue等, WordPressとVue, プラグイン, ランキング, 一言メッセージ, 一言メッセージ機能, 両方, 二点, 可能性, 問題, 少し, 方法, 時間, 機能, 気持ち, 独学, 追加.昔, 達成感,

駆け出しエンジニアとコールバック関数?イミフ

2024.06.18

Logging

おはようございます、コールバック関数とは別の関数に引数として渡される関数のことです。コールバック関数は、指定されたイベントや条件が発生したときに呼び出されます。なので下記の例コードは間違っていないと言えるのではないかと.

<?php
// Your code here!
function hoge(){
    return 'コールバック関数ですよね';
}

function bar($f){
    print $f();    
}

bar("hoge");

自分は駆け出しエンジニアみたいなモノ、勤続年数だけが多くて未だに仕事で「げっ」と思うことがあります.ググれば出てくる仕事なら良いですが、この頃の仕事はググっても出てこないので英語がわからないのでドキュメントを翻訳して何とか頑張っている感じです.

芸能人のタモリさんが言っていた名言がいまの自分に刺さります.

タモリさん曰く「自分の中で『これくらいの力がついたらこれくらいの仕事をしよう』と思ってもその仕事は来ない。必ず実力よりも高めの仕事が来る。それはチャンスだから、絶対ひるんじゃだめ」だそうです.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-f, bar, function bar, function hoge, lt, php, print, quot;hoge&quot, return, Your code here, コールバック関数, タモリさん, チャンス, ドキュメント, 勤続年数, 名言, 実力, 引数, 関数, 駆け出しエンジニア,

PHP言語で連想配列の指定キーにて並び替える方法.

2024.06.04

Logging

おはようございます、PHP言語で連想配列の指定キーにて並び替える方法は下記です.下記の方法を行うことにより日付キーかつ降順で並び替えを行えるようになります.よく使う関数かどうかは分からないけど頭の片隅に残しておいた方が良い気がしましたので記事にしました.

<?php
$data = [
    [
    'title'=>'Aタイトル',
    'date'=>'2024.05.31 05:00',
    ],
    [
    'title'=>'Cタイトル',
    'date'=>'2024.05.30 05:00',
    ],
    [
    'title'=>'Bタイトル',
    'date'=>'2024.05.31 07:10',
    ],
];
$dateArray = array_column($data, 'date');
array_multisort($dateArray, SORT_DESC, $data);
var_dump($data);

因みに上記の内容(ソース・コード)を実行すると下記の結果が返ってきます.いやーarray_columnとarray_multisortの関数は良いですよね、便利です😌ということで技術共有でした.

array(3) {
  [0]=>
  array(2) {
    ["title"]=>
    string(13) "Bタイトル"
    ["date"]=>
    string(16) "2024.05.31 07:10"
  }
  [1]=>
  array(2) {
    ["title"]=>
    string(13) "Aタイトル"
    ["date"]=>
    string(16) "2024.05.31 05:00"
  }
  [2]=>
  array(2) {
    ["title"]=>
    string(13) "Cタイトル"
    ["date"]=>
    string(16) "2024.05.30 05:00"
  }
}

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$dateArray, array, array_column, array_multisort, Bタイトル&quot, data, lt, php, PHP言語, quot, quot;Aタイトル&quot, quot;date&quot, quot;title&quot, SORT_DESC, string, var_dump, 片隅, 連想配列, 関数,

サービスで提供しているサンドボックス使う派?使わない派?どっち?

2024.06.02

Logging

おはようございます、サービスで提供しているサンドボックス使う派?使わない派?ですか?自分は基本的にサンドボックスは仕事では使わない派です.コードの流出に繋がる可能性があるのでほぼ使いません.使うときは、PHPのドキュメントの例文を使用してどんな動きするか確認する時ぐらいです.

この頃はDockerでひとつサンドボックスとして使用する環境を作っています.これで情報漏れを防ぐことが可能です.ちなみにPHPのバージョンもコマンドで切り替えることが可能にしています.

仕事では使わない派ですが個人開発をするときは使用したりします.使用するサンドボックス環境はパイザアイ・オーさんのサンドボックス環境を良く使用します.よく使用する方は自分のアカウントを取得しておくと良いと思っています😌

これからPHPやPython言語を学びたいと参考書を買った方はアカウントを取得し非公開の状態で参考書のコードを試してみるのも良いかと思います.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

docker, php, Python言語, アカウント, コード, コマンド, サンドボックス, サンドボックス使う派, サンドボックス環境, ドキュメント, バージョン, パイザアイ・オーさん, ひとつサンドボックス, 例文, 参考書, 情報漏れ, , 流出, 環境, 非公開,

php7.4から使用できるようになったアロー関数.

2024.06.01

Logging

おはようございます、php7.4から使用できるようになったアロー関数のことを記載しますと言っても書き方はこんな感じで結果は9になりますということしか言えない.

<?php
$a = fn($x,$y) => $x*$y;
var_dump($a(3,3));
<?php
$a = (fn($x,$y) => $x*$y)(3,3);
var_dump($a);

ちなみにカッコで包んで即時関数?にすることも出来ます.この方法の方がjavascript様な書き方なのかも知れないなって思います.そんなアロー関数ですが、あまり使用している方を見かけないですね.コードを書くときは無名関数で書くことが多い気がします.

無名関数が関数になってしまうようなコード量だったら関数にしてしまう方が良いのかも知れませんが、そのコードの内だけで使用するものなら関数にしなくても良い気もしますが、これはレビューする人によって違う気がしますので現場によりかけりだと思います😌.

なお、アロー関数はコールバック関数としても使用可能です📝.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-y, A`, fn, javascript様, lt, php, var_dump, X, アロー関数, かっこ, コード, コード量, コールバック関数, , 即時関数, 書き方, 無名関数, 現場, 結果, 関数,

あれから数年経過.コロナは落ち着きましたね?

2024.05.15

Logging

おはようございます、昔、アロー演算子の数珠繋ぎの作り方みたいなのはどうやって作るかという事を思っていた時にオープンソースを見てなるほどなぁと思っていたのですが、あれから数年経過してもっと簡略的に作れること、そしてthisの受け渡しでもいろいろ出来るよって話まで行き着きました.

あれから4年経過すると自分の過去のソースコードが残念に思います.これから数年経過するとこのコードの例も残念なコードになるかも知れませんが今最善の例コードになります.

<?php
/**
 * チェーンクラス?数珠繋ぎクラス?関数の作り方.
 */
class ChainClass{
    public $value = 0;

    /**
     * 加算関数
     */
    public function add($value)
    {
        $this->value = $this->value + $value;
        return $this;
    }

    /**
     * 乗算関数
     */
    public function multiplication($value)
    {
        $this->value = $this->value * $value;
        return $this;
    }

    /**
     * 解を表示する関数
     */
    public function answer()
    {
        printf('答えは%dです',$this->value);
        return $this;
    }
}

(new ChainClass)->add(2)->add(3)->multiplication(10)->add(5)->answer();

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

gt, gt;add, gt;answer, gt;value, lt, multiplication, php, printf, public, return, this, value, アロー演算子, 乗算関数, 加算関数, 数珠繋ぎ, 数珠繋ぎクラス, 最善, 関数,

php8.1からのEnums.

2024.05.09

Logging

おはようございます、php8.1から導入された?Enums(列挙型)について@ucan-labさんが解説しているのでそちらを参考に試しにプログラムを組んでみました.自分の場合、あまり使わない気がするのだけども使えるようになったというのは有り難いですね.

ふと昔思い出したのですが職場で列挙型の話がでた事があります.あれから数年が経過した現場はどんな感じになっているのだろうか?自分がいた頃にはもうスパゲッティ化していたソースコードはどこまで改良したのだろうかとか、もう独自のシステムは使わなくなっているのだろうかとか、今となっては知る由もないですが.昔、勤めていた職場はオンプレミスではないのでPHPのバージョンアップがあれば対応しないといけなくなることもありました.そういう面ではXサーバーはユーザーファーストであるなって思います.結構まえのPHPバージョンも使用できたりするわけですからね.

PHPのバージョンが上がれば新しい機能を使ってみたいエンジニアの気持ちは分かりますが、この頃、導入するタイミングって難しいなって思います.そしてアプリはもっと大変だなって思います、、、.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Enums, php, PHPバージョン, ucan-labさん, Xサーバー, エンジニア, オンプレミス, スパゲッティ化, ソースコード, タイミング, バージョン, プログラム, まえ, ユーザーファースト, 列挙型, , 現場, , 職場, ,

配列と乱数

2024.04.10

Logging

おはようございます、配列の中からランダムでデータを取得したい場合はアレイランドがベストです.この関数の良いところは、指定回数が設けれているところです.デフォルトは1回に設定されていてintで返却されますが、指定数が1以上の場合は配列にインデックスが返されます.

自分の説明が分からない方用に、Geminiにも解説してもらいます.

PHPのarray_rand関数は、配列からランダムな要素(キー)を1つまたは複数取得する関数です。

array_rand(array $input, int $num_req = 1): mixed
  • $num_reqが1の場合: ランダムな要素(キー)
  • $num_reqが1より大きい場合: ランダムな要素(キー)の配列
https://gemini.google.com/

この関数を知る前は配列をカウントしてランダムを発生していましたが、array_rand関数を知ってからはこちらを使用しています.調べたところ他の言語でも同じ様な関数が用意されているようですね.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$num_req, array, array_rand, array_rand関数, gemini, input, int, mixed, php, アレイランド, インデックス, キー, デフォルト, ランダム, 指定回数, 複数取得, 要素, 言語, 配列, 関数,

Cloudflare(クラウドフレア)良いね.

2024.04.04

Logging

おはようございます、cloudflare(クラウドフレア)というサービスをご存知でしょうか?これを使用すれば無料でサクサクっとウェブサイトやサービスが作れてしまいます.ただ、PHPなどは動かないようです、動かすことが出来るのはvue.jsやReact.js系です.当然、それらに付随するフレームワークは動きます.

自分もつい最近クラウドフレアでお試しにReact.jsを動かしてみました.

因みにReact.jsを身に付けようと思ってごりごりとコードを書いています、今までバニラjsを使っていたのでお作法を覚えるのがちょっと苦ではありますが、仕事で必要なので身につけようとしています.

当分、React.jsを覚えていたら食いっぱぐれはない言語なのかもなぁって思っています.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

cloudflare, php, React.js, React.js系, vue.js, ウェブサイト, お作法, お試し, クラウドフレア, コード, ご存知, サービス, それら, バニラJs, フレームワーク, 仕事, , 言語, , 食いっぱぐれ,

php言語てへ.

2024.04.01

Logging

おはようございます、php8.3が主流になりそうです.うとうと寝ている間にphpがあっという間にphp8.3になってしまいました.PHPも勉強しないといけないなぁと思いつつ、今はReact.jsとNext.jsを頑張って勉強しています.

勉強しているつもりはないのですが、コードを書いて書いて書いてで手に滲ませて忘れますw.

生成AIが登場してからというもの、生成AIに尋ねることが多くなりました.

頭には抽象的な事しか覚えてなくても仕事になります.分からない事をググる事より生成AIに尋ねるに置き換わっています.

生成AIで明確な解が出ない時にググるという順番になってきた感じです.

ネットが断線してしまうと無能の出来上がりになるじゃないかと、この頃思い始めたので復習を行うようにしています.

ツールに頼ることは良いことだけども、頼りすぎるのは良くないなってw.

明日へ続く.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Next.js, php, PHP8.3, React.js, , あっという間, コード, ツール, ネット, 主流, 仕事, 復習, , 生成AI, 良いこと, , , 順番, ,

例外処理をスローする奴(throw=飛ばす?) #php

2023.12.09

Logging

おはようございます、久しぶりにちょっとした技術のお話です。トライキャッチ(try-catch)した後にたまにスローしているコードとか見かけると思います。大体、エラーメッセージとか出力していると思いますが、これ独自のクラスなどに変更することが可能なんですよね。

なので、こんな事が出来るわけです、コケたら違う処理を行ってリカバリみたいな事やコケた値を拾ってバックアップするとか、いろいろな事が出来てしまいます。

PHPの公式でも例文を書いていますが、アレだとなんかわからない方もいると思いますので、もっと簡略化した例文コードを書いてみました。このコードを実行するとゼロによる除算エラーになりますが、トライキャッチ(try-catch)の中に書いているのでエラーにならずcatchへ処理は推移します。そしてスローでオリジナルのクラスを呼び出しているわけです。

<?php
    class errors{
        public function __construct($msg,$x) {
            print $msg;
            print $x;
        }
    }
    try {
        $x=5;
        $a = $x/0;
        //code...
    } catch (\Throwable $th) {
        throw new errors($th->getMessage(),$x);
    }

トライキャッチの良いところはエラーにならないところですが、エラーにならない事が困り物になる場合もあるので注意が必要です。そこは現場の諸先輩方の話を聞いて対応したほうが良さげかと思います。

明日へ続く。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$msg, $th, $th-&gt, catch, class errors, construct, getMessage, lt, php, print, public function, throw new errors, Throwable, try, try-catch, スロー, リカバリ, 例文, 除算エラー,

オーバーライドとは何なのか。それは。

2023.11.27

Logging

おはよう御座います、もう20年前になるのかな駆け出しのエンジニアだった頃の話。そのころ、オブジェクト指向が何なのかなんてことも知らないのに粋がっていました。その事を思い出すと恥ずかしいばかりです。その駆け出しのエンジニアの頃にオブジェクト指向のことをどうしても勉強しないといけなくて参考書を買ったのは良いのだけど専門用語が多くてついて行けなかった、そんな記憶があります。今ではchatGPTという何でも適当にだいたい正しそうな回答してくれる優しくてひねくれ者のツールがあるので、本当に良いなって思います。

さて、オーバーライドとは何なのかという事ですがchatGPTよりもっと要約した回答を書くと継承クラスの上書きです。これでもチンプンカンプンな人に例文を書いてみました。これで分からない方は何かを諦めた方が良いかも知れません。

<?php
//testClass.php
trait testClass {
    public function Hello(){
        return 'Hello';
    }
}
<?php
//test.php
require './testClass.php';
class test1{
    use testClass;
    public function run (){
        print $this->Hello().PHP_EOL;
    }
}
class test2{
    use testClass;
    protected function Hello(){
        return 'Good night';
    }
    public function run (){
        print $this->Hello().PHP_EOL;
    }
}

(new test1)->run();
(new test2)->run();

この2つのファイル(コード)を保存してtest.php実行してみてください。そうするとよく分かると思います。ちなみに実行結果はこの様になります。
https://zip358.com/tool/demo79/

明日へ続く。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

ChatGPT, gt, gt;Hello, lt, php, PHP_EOL, print, return, run, test.php require, testClass, testClass.php trait, this, use testClass, オーバーライド, オブジェクト指向, チンプンカンプン, ひねくれ者, 上書き, 例文,

アイキャッチ画像を表示するように変更。PHPコード

2023.11.25

Logging

おはよう御座います、先日アイキャッチ画像を表示するように変更しました、PHPコードはこんな感じです。Bootstrapでレスポンシブ画像に対応しています。アイキャッチ画像を表示するようにした訳はデザインも変えたのでアイキャッチいれても変じゃないかなって思ったことです。そういう訳で先日の休みに対応しましたというのが経緯(いきさつ)です。

            <div>
              <?php
              print get_the_post_thumbnail_url() ? '<img src="' . get_the_post_thumbnail_url() . '" class="img-fluid">' : '';
              ?>
            </div>

そんな休みの日にこんなタイムラインが流れてきました、こんなのが浸透したら商売が破綻すると思う人がいると思うけれども、たぶん今の生成AIで凄いことが出来るのに殆んどの人が使えていない。これが浸透するのにかなり月日がかかると思います。一般の人に浸透するにはラグが存在するので、それまでにどうすれば良いか対処出来ると思います。ちなみにポストが消えてしまった時のために上のポストの内容を解説しておくと、画像(デザイン)からフロントエンドエンジニアやデザインナーが行うHTML作成作業を生成AIが変わって行ってくれる。今の所、完璧なコードが生成される訳ではないので手直しが必要ですが、いずれは必要なくなることは時間の問題という話なんだけど、実際ひとが思っている未来の斜め上を行くのが未来かと思います。なので落胆はせずに上手く取り入れていく方が賢明かなって自分は思います。

明日へ続く。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Bootstrap, class, div&gt, get_the_post_thumbnail_url, gt, img src, img-fluid&quot, lt, php, print get_the_post_thumbnail_url, quot, アイキャッチ, デザインナー, ラク, レスポンシブ画像, 商売, 手直し, 生成AI, 経緯, 落胆,

LaravelのAPIを作っていたので

2023.10.12

Logging

おはようございます。先日の休みにLaravelのAPIを作っていました。出来ること出来ないことが分かったので、メモとして残しときます。敢えていうと恐らくそうだろうという感じです。ではまずAPIを使用したい場合はweb.phpではなくてapi.phpを使用しないとAPIは機能しない。

APIにはcros.phpの設定は関係ないAPIをアクセス制御したい場合は、認証式にしないといけない。そうではない場合、どこからでも参照は可能になる

参照先サイトが分かれば何とかなると思っていたけれども、SSL化したサイトからAPI叩かれたら参照先、分からないよねって話。ミドルウェアでIPから制御する方法はあるので認証式にしたくない場合はそちらの方法で何とかしてください。

自分はphpのcrulで制御するので、基本、ワイヤーシャークとか入れてないとエンドポイントが分からないので、認証式にしないで運用する方向で調整中です。

基本的にAPI出来たので、VPSサーバーで動いているWEBサービスも今月中に移動します。まだVPSサーバーは一年契約なので起動していますが、延長契約は結ばずダウングレードしたVPSサーバーと新たに契約を結ぶつもりでいます。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

API, api.php, cros.php, crul, Laravel, php, SSL化, VPSサーバー, web.php, Webサービス, エンドポイント, ミドルウェア, メモ, ワイヤーシャーク, 休み, 参照, 参照先, 延長契約, 方向, 認証式,

laravelの技術ネタ。こういうのを有ることを。

2023.10.03

Logging

おはようございます、laravelの技術ネタです。Laravelにはこういうメソッドが用意されています。下記のリンクを参照ください。

https://readouble.com/laravel/8.x/ja/collections.html

こんな機能が有ることを覚えて置くと良いです。なので、わざわざ自分でコードを書かなくても便利な機能があります。覚えて置くと良いです。

この頃の学びはPHPに文字の置き換えする事。いやいや文字の置き換えなんて初歩の初歩でしょって思うかも知れません。自分もそう思っていましたけど、PHPにはいろいろな文字の置き換えができるメソッドがあります。その中でこれは便利だなっていう文字の置き換えはこれ!!

文字の位置を指定して、その部分だけを文字を置き換えることが出来るメソッドです。

substr_replace

明日へつづく

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Laravel, php, substr_replace, いやいや文字, コード, メソッド, リンク, わざわざ自分, 下記, 位置, 初歩, 技術ネタ, 文字, 機能, 自分, 部分,

Laravelでユニットテストをする中Factoryは欠かせない。

2023.08.11

Logging

おはようございます、Laravelでユニットテストをする中Factoryは欠かせない存在だと思っています。毎回、データを初期化していると処理が重くなってしまいます。ユニットテストが多くなるに連れて時間がかかるのは仕方がないのかなって思いますが、極力時間短縮したいと思うのは普通のことだと思います(github上にpull requestしphpstan(静的解析ツール)やphpunit(ユニットテスト)を行っていく中で結構時間がかかるのはユニットテストだと思います。)。

恐らくユニットテストでデーターベースの初期化をしない事が良いだろうと思うようになってきました。そんな中で役に立つのがFactoryです。これを使用することで次のテストに影響を与えないみたいなんですね。なので、この頃はFactoryを使用しています。

Factoryは下記のCommandで生成することが出来ます。

php artisan make:factory filename

仕様の仕方はこんな感じになります💁

<?php
$user = User::factory()->make([
 'username'=>'test',
 'password'=>'testpass',
]);
print $user->username;

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-Command, Factory, factory filename, github上, gt, gt;username, Laravel, lt, php, php artisan make, phpunit, print, pull requestしphpstan, user, この頃, データーベース, ユニットテスト, 中Factory,

DockerFileを作ってみたよ。Xdebug not Fund

2023.07.20

Logging

おはようございます、DockerFileを作ってみたよ。アパッチとPHP、Xdebugをインストール出来るDockerFileです。困ったちゃんになったのは「docker-php-ext-enable」という部分でCommandがないよって言って弾かれることでしたが、ここをググってググってを繰り返して答えが分かりました。

From が間違っていたのです。大体のサイトはDockerにXdebugをインストールする部分を強調してかいているので上手くインストールすることが出来なかったです。恐らくそんな事は当たり前に知っておく事なのかもしれませんがズブの素人には分かりづらかったです。

FROM almalinux:latest
RUN yum -y install httpd
RUN yum -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
RUN yum -y module switch-to php:8.1
RUN yum -y install php php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-pear php-pgsql php-devel php-xdebug php-cli
FROM php:8.1-cli
RUN pecl install xdebug-3.2.1 && docker-php-ext-enable xdebug

下記のDockerFileを作りymalと結びつけ下記のCommandを打てばインストール可能になります。因みにPHPのモジュールはお好みに合わして追加してください。

 docker-compose up -d --build

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

-Command, d --build, docker, docker-compose up, docker-php-ext-enable, docker-php-ext-enable xdebug, dockerfile, from, FROM almalinux, latest RUN, php, RUN yum, xdebug, y install httpd RUN, y install php php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-pear php-pgsql php-devel php-xdebug php-cli FROM php, yum, アパッチ, ズブ, モジュール, 作りymal,

I mutter using laravel’s schedule.

2023.06.23

Logging


Good morning! These days, I’ve been working on migrating the parts that used the twitteroauth library to Laravel. I think it was a good decision to migrate because it made it easier to incorporate new features. I wish I had initially started with Laravel for this.

Here are some technical hints, but you should be able to find more detailed methods by searching online:

  1. Install twitteroauth in Laravel’s vendor directory.
  2. Create a job using the command php artisan make:job YourPreferredName (e.g., ProcessPodcast).
  3. Register the job in the scheduler.
  4. Configure cron (in my case, * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1).

With this setup, it will tweet at the specified time. I used to be able to retweet, but it seems my Twitter bot has been flagged, and now I can only tweet. So I’m doing my best with just tweeting.

Concerns about Twitter: I can’t help but think that it’s only a matter of time before either Jack Dorsey leaves or Twitter gets acquired and disappears. Even with a new CEO, I don’t expect things to improve immediately, and as long as Jack Dorsey remains, I believe it will continue to be problematic. Twitter has lost some of its appeal for individual developers who can no longer enjoy developing on the platform. The various services that were created using Twitter’s API in the past were possible because Twitter was developer-friendly.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

artisan schedule, CEO, Configure cron, created using Twitter, dev, gt, hints, I've been working, Install twitteroauth, job YourPreferredName, library to Laravel, past were possible because Twitter was developer-friendly, path, php, Platform, run, setup, that were, These days, vendor directory,

配列を連想配列に置き換えるPHPの関数。便利すぎる😌

2023.06.11

Logging

おはようございます。配列を連想配列に置き換えるPHPの関数。便利すぎます。この関数を知ったのはつい最近の話ですが、こんな関数があるのだと知っているのと知らないとではコードの書きようが違うわけです、実際、PHPの関数を全部知っているわけではないのですが公式のドキュメントを見るといろいろな関数が存在することが分かります。

自分はあまり関数を知っているわけではないので余計なコードを書いている可能性があります、なので余計なコードを書かずに純粋な関数を使用してシンプルなコードがかければなと思います。

<?php
    var_dump(array_combine([1,2,3],["one","two","three"]));

そんな自分もこの頃はPHP公式サイトのドキュメントを見ることも以前よりは増えてきています。昔は公式サイトで調べるよりググって調べることが多かったのですが、この頃は公式サイトと検索のパラメーターであるsite:URL+キーワードを使用して調べることを心がけています。あとはchatGPTを使用します。

調べるときの手順にchatGPTという選択肢があるのですが、正解ばかりの回答ではないのでやはり今の段階では補助ツールですね。いまのAIの役割は面倒くさいと思われる組み合わせのパータンを全て網羅してくれて思いがけない答えを導き出せるという所にあると自分は思っています。なので、現段階では人の回答に答えるのにはあまり向いていないのかもしれないですね。

ともあれ、知らないより知っていたほうが良い業界なので勉強ですね。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

AI, array_combine, ChatGPT, lt, php, quot;one&quot, quot;three&quot, quot;two&quot, site, var_dump, ドキュメント, パータン, パラメーター, 手順, 正解, 組み合わせ, 連想配列, 配列, 関数,

ContactForm7で現在ページのURLを送る方法。 #カスタマイズ

2023.05.27

Logging

おはようございます。ContactForm7で現在ページのURLを送る方法です、全ての記事の下にお問い合わせフォームを設置している人はあまりいないかもしれないけれど。そのあまりいない人の一人です😂。

記事の下にショートコードを設置するにはプラグインを自作するか、テンプレート内に埋め込むかどちらかだと思います。自分は前者のプラグインを自作してショートコードを埋め込んでいます。

ショートコードを埋め込むコードはこんなコードです。

<?php
do_shortcode('[contact-form-7 id="XXXX" title="comment"]')

これで全記事にショートコードを埋め込むことが可能ですがこれだけでは動きません。こんな感じのプラグインを作ってみてください。プラグインの設置方法などはググって下さい。

<?php
/*
  Plugin Name: comment-add
  Plugin URI:
  Description: 記事の下にアドセンス広告などを貼り付けるのに使用
  Version: 1.0.0
  Author: @zip358com
  Author URI: https://www.zip358.com
 */


function comment_add($content)
{
    if (is_single() && 'post' == get_post_type()) {
        $content = $content.do_shortcode('[contact-form-7 id="xxxx" title="comment"]');
        return $content;
    } else {
        return $content;
    }
}
add_filter('the_content', 'comment_add');
remove_filter('the_content', 'wpautop');

これだけでは、どのページから問い合わせしたのか分からないので、名前などの入力欄以外に入力欄を設置します。次に設置したそのNoを控えて下さい。

<script>
//Contact Form 7 現在ページのURL
if(document.querySelectorAll("[name='text-564']")){
    [...document.querySelectorAll("[name='text-564']")].forEach(elm=>{
        elm.setAttribute("type","hidden");
        elm.value = decodeURIComponent(location.href);
    });
}
</script>

上記のコードを</body>タグ直前に設置してください。設置後、text-564を控えたNoに変更シテクダサイこれで設置が完了です☹。

⚠ContactForm7のメール送信欄にも控えたNoを設置してください。これで完了です!!
最後に送信のご確認を忘れずに😐。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

add_filter, body, comment-add, decodeURIComponent, description, document.querySelectorAll, elm, else, foreach, hidden&quot, lt, php, php do_shortcode, quot, remove_filter, return, setAttribute, title, Version, wpautop,

php:トレイトって言うよりclassの中でuseを使用。

2023.05.19

Logging

おはようございます、php:トレイトって言うよりclassの中でuseを使用する方法って言った方がわかり易いのかも知れません。詳しい説明は公式を参照して下さい。コード例とtraitの説明を書いときます。

トレイトは、PHPのようなプログラミング言語でコードを再利用するための仕組みのひとつです。通常、プログラムではクラスを使ってコードを組み立てますが、トレイトを使うことで、異なるクラスに属するメソッドのグループを独立したクラスとして再利用することができます。これにより、単一継承という制限を緩和することができます。トレイトを使うことで、多重継承やMixinといった問題を回避することもできます。

トレイトはクラスと似ていますが、トレイトは単に機能をまとめるためのものです。トレイト自体のインスタンスを作成することはできません。トレイトを使うことで、従来の継承に機能を追加するだけでなく、クラスのメンバーを水平方向に追加することもできます。つまり、継承しなくてもクラスに新しい機能を追加することができるようになります。

実行サンプル=>https://zip358.com/tool/demo75/

<?php
require_once "hello/hello_class.php";

use hello\Hello;

class Test
{
    use Hello;
    public function main()
    {
        print("-goodbye");
    }
}

(new Test())->main();
<?php

namespace hello;

trait Hello
{
    public function __construct()
    {
        print("Hello");
    }
}

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

class, construct, goodbye&quot, gt, lt, Mixin, namespace hello, php, php require_once, print, quot, quot;hello, quot;Hello&quot, trait, trait Hello, use, use helloHello, トレイト, トレイト自体, 単一継承,

ワードプレスのブロックテーマの位置づけと手順書リンク。

2023.05.11

Logging

おはようございます、ワードプレスのブロックテーマの位置づけは新たな選択肢の一つだろうと勝手に思っている。理由はWPの公式サイトの命名と位置づけにある、当初はこれからはブロックテーマ、フル編集だと謳っていたかもですが、テンプレート販売会社などから不満が出たのかも?

公式サイトの開発ドキュメントでもテーマベイシックはphpを使用した方法の手順が書かれている。ベイシック=基準がいきなりhtmlファイルに置き換わることは無さそうというのが自分の見解です。

ブロックテーマのドキュメントを見ていると、やはりベースのテンプレートを素人の人が作るのはいささか難しい感じがする。そしてフル編集になると編集した値はDBか独自ファイルに保存されるようになるのだろう、これを手直しするのは開発者側からすると面倒だし、デザイナーさんからするとあまり良い思いはしないだろうと思う。そういう事もあってテーマベイシックはこれからもphpだろうと思います。

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

db, htmlファイル, php, wp, テーマベイ, テーマベイシック, テンプレート, ドキュメント, ファイル, ブロックテーマ, ベース, ベイシック, ワードプレス, 命名, 当初, 手順, 素人, 見解, 選択肢, 開発ドキュメント,

laravel8系以降でのルート、web.phpの記載。 #laravel

2022.12.17

Logging

おはようございます、寒さ対策が必要になってきましたが未だに部屋のエアコンはつけていません🥺。

Laravel8以降でのルート、web.phpの記載は7系とは記述が違いますって思っていたのだけど同じような記述する方法で書く方が楽だなって思ったので、今はそうしています。7系は下記のような記述で大丈夫でしたが8系以降、名前空間の部分も記載してあげないといけなくなりましたって話。ただ、コレは7系から8系へ対応する時に対応し易いようにしたもので、今後、使用できなるかもしれないので標準で記載するほうが良いのかもしれない🙄。

Route::post('/{id}/cart',"Cart@add");
Route::post('/{id}/cart',"App\Http\Controllers\Cart@add");
use App\Http\Controllers\Cart;
Route::post('/{id}/cart',[Cart::class,'add']);

フレームワークってのは自社開発する方が良いなって思うこともあります、理由はルールを自分で創ることが出来るということです、オープンソースのフレームワークは、PHPのバージョンアップする時にどうしてもバージョンアップ対応が必要になってきます。そこが厄介だなって思うですね。

動けばバージョンアップする必要はないのですがね、そうもいかないのが、開発現場の現状だったりするのかもしれない🤔?

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

Cart, ID, laravel8以降, php, POST, quot;AppHttpControllersCart@add&quot, quot;Cart@add&quot, Route, use AppHttpControllersCart, web.php, エアコン, コレ, フレームワーク, ルート, ルール, 未だに部屋, 標準, 現状, 自社, 記述,

全国各地の漁港データをJSONデータ化したお話🦾。#php #map

2022.12.07

Logging

おはようございます、昨日は晴れていましたね☼。

そんなお天気な日に漁港座標データXMLをJSONデータ化しておりました。国土交通省のデータを加工しJSONデータに加工するのはそんな難しい問題じゃないかなって思っていたのですが、データが重たい、中身のXMLデータは名前空間使っているなどという面倒くさい仕様になっておりました。名前空間の対応は、こちらのQiitaの記事を参照してほぼコピペで自分のコードに追加しました。

だた追加しただけでは、あんなツイートしたJSON構造にならないので細工しています。自分が必要なのは漁港名と座標軸だけなので、これだけで良い感じです。

preg_grep("/".$val->{"@attributes"}->id."/",$name);

因みにXMLファイルが重いので自分はデータを分割しました(エラーが出力されるので)。php.iniの設定は変えたくなかったので分割と加工をしたわけです。座標データと漁港名に分割して上記のコード等を使用しJSONファイルを出力。このJSONコードを元にオープンストリートマップ(OpenStreetMap)とかでサービスを作ることが出来ますが、このデータは非商用なので使い物にならないかな…🤔。データの販売等や二次配布は禁止だけど、データ活用は禁止していないように取れるので詳しく調べてみます🙄。

追記:都道府県を追加してみました

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

attributes, grep, gt, ID, json, map, name, php, preg, qiita, quot, val, xml, お話, コード, こちら, コピペ, これだけ, ツイート, データ, ファイル, 中身, 仕様, 全国, 分割, 加工, 参照, 各地, 名前, 問題, 国土交通省, 天気, 対応, 座標, 座標軸, 必要, 感じ, , 昨日, 構造, 漁港, 空間, 細工, 自分, 記事, 追加,