Bladeのinjectという物を使えば独自関数を呼び出せる。#laravel

2023.02.01

Logging

おはようございます、週に一個は技術ネタを入れようかなと思っている中の人です。

今回はタイトル通りのお話になります。bladeで独自関数を使用したいなと思ったことはありませんか。そういう時に重宝するのはinjectだというお話になります。使い方は下記の方法で可能です。

@inject('代入される任意の変数名', 'namespaceを含むクラス名')
{{ $代入される任意の変数名->呼び出すメソッド名() }}

これを知ったのは次のサイトになります。因みにbladeとはLaravelで使用できるテンプレートエンジンになります。いうなれば昔、流行ったSmartyという物と同じ位置づけですね。

因みに、この記事はあまりSEOを意識していませんので検索にヒットしないかも知れませんので、是非ともシェアして頂けると有難いです😄。

余談なんですかもう一つ、bladeでHTMLを含む文字を変数に代入するとそのまま表示されてしまいますよね、それをHTMLコードとして認識させたい場合は下記のようにすることでHTMLコードとして認識されます。

{!! 任意の変数名 !!}

追伸、こちらの方が手っ取り早いような気がします.

{{ app()->call('App\Http\Controllers\TestController@test') }}
{{app()->call('App\Http\Controllers\QiitaController@aiueo',['a'=>'test'])}}

タグ

$代, App, AppHttpControllersQiitaController@aiueo&#39, AppHttpControllersTestController@test, blade, call, gt, html, inject, Laravel, namespace, SEO, Smarty, テンプレートエンジン, メソッド名, 余談, 変数, 変数名, 追伸, 関数,

全ての定義済の変数を配列で返す

2019.03.16

Logging

全ての定義済の変数を配列で返す関数です。
全てなのでとってきて欲しくないものまでも取ってきます。
なのでそういうのはunsetします。
ちなみに似たようなのでcompactという関数がPHPには存在します。
何に使用する場合に便利かは人それぞれ違いますが
自分の場合はテンプレートエンジンを使用するときに重宝してます。
テンプレートエンジン・・・TwigやSmartyなど

<?php
$a = "abc";
$b = array(1,2,3);
$c = 123;
$vars = get_defined_vars();
unset($_COOKIE);
unset($_POST);
unset($_GET);
unset($_FILES);
unset($GLOBALS);
foreach ($vars as $key => $value) {
    var_dump($key);
    var_dump($value);
}
//...
var_dump($vars);

 

タグ

, 2, , ABC, array, as, compact, COOKIE, defined, dump, files, foreach, GET, GLOBALS, gt, key, lt, php, POST, Smarty, Twig, unset, value, var, vars, エンジン, それぞれ, テンプレート, とき, もの, , , 使用, 便利, 全て, 場合, 変数, 存在, 定義, 自分, 配列, 重宝, 関数,

ドロップシッピングCSV流し込み開設に向けて。WEB知識のある業界の方オススメします!

2018.07.06

Logging


ドロップシッピングCSV流し込みの過程。
ドロップシッピングからCSVをダウンロード、
その後、ヘッダー部分の削除を行い、CSVを10000行単位で
分割する。リナックスのコマンドで行いましたが
PowerShellやフリーソフトでも分離は可能です。
次にDBへ登録を行うプログラミングをPHP言語で記述し
コマンドラインからPHPファイルを叩く。コマンドラインで叩くほうが
処理が早いのでこちらを選びましたが、ブラウザから送信ボタンを押したときに
非同期処理(ajax)を走らせて行う方法もあります。
自分が登録したドロップシッピングのCSV容量は
850MBでした、まぁまぁ多いファイルです、これを一行単位で取り込んで
行くのですが、、、、かなり時間がかかります。
取り込み終わるのに数時間かかりました。
最初、一括CSVで取り込めないかなと思っていろいろ試しましたが515円のサーバでは
無理でしたので、10000処理を行ったら一度、PHPを終了させ
再度、開き次のファイルをパラメーター付きで実行させるシェルスクリプトを
作りました。そちらを叩いて後は終了するまで待つという方法です。
登録したDBから商品の一覧や詳細画面、カテゴリー一覧、
トップページを作らないといけないという作業が残っています。
こちら会社でも使っているSmartyで当初思ったのですが
やめてPHPテンプレートエンジン「Twig」を使用して作ることに決めました。
ここまで来て思ったのは会社での事がかなり役に立つという事です。
ノウハウがあるのとないのとはぜんぜん違うなと思います。
ドロップシッピングが軌道に乗るのかはわかりませんが、
サイトを作るというのは楽しいですね。
ちなみにドロップシッピングのURLは非公開とさせていただきます。
https://youtu.be/rrvL2-jqZ-4

タグ

CSV容量, PHPテンプレートエンジン, powershell, Smarty, Twig, コマンドライン, サーバ, シェルスクリプト, ドロップシッピングCSV流し込み, ドロップシッピングCSV流し込み開設, パラメーター付き, ブラウザ, フリーソフト, プログラミング, ヘッダー部分, リナックス, 一括CSV, 一行単位,

フレームワーク使うべしか否か。

2017.11.09

Logging


フレームワーク使うべしか否か。
答えは使うべし!!
会社で決済廻りを修正することが多いのですが、このカート廻りを
速やかにフレームワークに置き換えを行いたいと思っています。
現状、自分が入る前に作られたカート(委託)ですが、今や負の遺産になりかけている
A社からB社へなどいろいろな会社がカートを改修しているため、内部コードは
継ぎ接ぎだらけ、そして自由度が低くお客様がメンテナンスすることが難しい。
一番の問題はHTMLコードとPHPコードがごちゃごちゃしていて
ある程度、プログラミングが可能な人でないと修正が出来なくなっている。
これを解決するにはLaravel、もしくはSmartyなどを導入し一から作り直したほうが
確実に良いように感じます(俗に言うフレームワークとかいうやつ)。
決済廻りを作り直すにはおそらく1、2ヶ月時間が必要かなと。
ただ作り直すことが出来たらなら、確実にトラブルなどは無くなることは間違いないと
現時点、それだけは分かっているのですが仕事が立て込んでいて
作る隙がないのが現状です。
一刻も速くカートのトラブルから脱出したい
今日此の頃です。
胃が痛い・・・重圧を感じます。
お金に直結する部分って嫌な部分です・・・ね。

タグ

HTMLコード, Laravelエキスパート養成読本, PHPフレームワーク, Smarty, Software Design plus, カード, カート廻り, トラブル, フレームワーク, プログラミング, 今日此の頃, 内部コード, 決済廻り, 現状, 継ぎ接ぎだらけ, 置き換え, 自由度, 重圧,