Laravelのbladeにはloop変数が用意されている🙄 #loop

2022.12.23

Logging

おはようございます、今年もあと数日ですね_(:3」∠)_。

Laravelのbladeにはloop変数が用意されています、 ワードプレスでいう$postとは考え方が違います。$loopはbladeファイルの@foreach内だけで動作するように設計されています。なので@foreach外でしようする{{$loop}}とは別ものです。

逆に$loop変数を@foreach内で表示しようとすると$loopはオブジェクトなので表示できませんとエラーが発生して怒られます。ややこしいいっその事、使用できないようにして欲しいですよね。

ErrorException
htmlspecialchars() expects parameter 1 to be string, object given

$loop変数の他に$attributes(属性)という変数もあるそうです。使いどころがイマイチ分からないですがあります。最後に予約語の一覧を抜粋して記載ときます😄。

  • data
  • render
  • resolveView
  • shouldRender
  • view
  • withAttributes
  • withName

追伸:laravelで独自関数を使用したい場合やbladeで使用したい場合などはこの方法で定義することで使用可能となります。Qiitaのリンクを参照ください。

https://qiita.com/kuroshun960/items/13a792ceabfec454cf21

タグ

attributes, blade, bladeファイル, data, ErrorException htmlspecialchars, foreach外, Laravel, loop, loop変数, object given, qiita, render, resolveView, shouldRender, withAttributes, withName, 変数, 追伸,

全国各地の漁港データを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)とかでサービスを作ることが出来ますが、このデータは非商用なので使い物にならないかな…🤔。データの販売等や二次配布は禁止だけど、データ活用は禁止していないように取れるので詳しく調べてみます🙄。

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

タグ

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