全ての定義済の変数を配列で返す
全ての定義済の変数を配列で返す関数です。
全てなのでとってきて欲しくないものまでも取ってきます。
なのでそういうのは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);
タグ
1, 2, 3, ABC, array, as, compact, COOKIE, defined, dump, files, foreach, GET, GLOBALS, gt, key, lt, php, POST, Smarty, Twig, unset, value, var, vars, エンジン, それぞれ, テンプレート, とき, もの, 人, 何, 使用, 便利, 全て, 場合, 変数, 存在, 定義, 自分, 配列, 重宝, 関数,
映画、キャプテンマーベルを観てきましたよ。
キャプテン・マーベル観てきました。 意外にも楽しめたエンターテインメント作品かも。自分は冒頭シーンが好きだったりします。ラストはスーパーサイヤ人かよと
思いつつ観てました。エンディングにオマケ映像ありです。
エンドゲームに繋がるので観に行くひとは是非、エンディングも必見です!
タグ
0, 1, com, https, uiOzPr, watch, www, youtube, エンターテインメント, エンディング, エンド, オマケ, キャプテン, ゲーム, サイヤ, シーン, スーパー, ひと, マーベル, ラスト, 作品, 冒頭, 必見, 映像, 映画, 自分, 観,
Canvasで円がぐるぐる回る。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<canvas id="ctx" ></canvas>
<script>
"use strict";
let x = 0,y = 0;
let xs = 300,ys = 300;
let xc = 1,yc = 1;
let ctx = document.querySelector("#ctx");
let canvas;
ctx.width = window.screen.width;
ctx.height = window.screen.height;
if(ctx.getContext)
{
canvas = ctx.getContext("2d");
setInterval(draw,77);
}
function draw(){
canvas.beginPath();
canvas.fillStyle = "#3399ff";
canvas.arc(x,y,35,0,Math.PI*2,true);
canvas.globalCompositeOperation = "xor";
canvas.fill();
x =((Math.sin (xc) * xs)) + 500;
y =(Math.cos(yc) * ys) + 500;
console.log(x + ":" + ctx.width);
console.log(y + ":" + ctx.height);
if(x < 0 || x > ctx.width)
{
xs*=-1;
}
if(y < 0 || y > ctx.height)
{
ys*=-1;
}
if(x<0)
{
x=0;
}
if(y<0)
{
y=0;
}
if(x > ctx.width)
{
x=ctx.width;
}
if( y > ctx.height)
{
y=ctx.height;
}
xc+=1
if(xc>360)
{
xc=0;
}
yc+=1
if(yc>360)
{
yc=0;
}
}
</script>
</body>
</html>
Canvasでぐるぐる円を廻す。
ガラクタコードが少しあります、最初違うコードを書いていたので
これを可変していろいろお試しください。
https://zip358.com/tool/demo5/js/index-3.html
タグ
0, 1, 300, body, Canvas, ctx, DOCTYPE, document, gt, head, Height, html, ID, let, lt, querySelector, screen, script, strict, use, Width, win, window, xc, xs, yc, YS, 円,
javascriptでEVENT処理レベル1
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<input type="text" class="zyezyezye">
<script>
"use strict";
let zyezyezye = document.querySelector(".zyezyezye");
zyezyezye.addEventListener("input",()=>{
console.log(">おいら>>" + zyezyezye.value);
if(zyezyezye.value=="じぇじぇじぇ")
{
console.log("おいら>>キタ━━━━(゚∀゚)━━━━!!nおいら>>じぇじぇじぇn<<ストーカーかよ!!");
}
});
</script>
</body>
</html>
jqueryばかり書いているとこういう書き方、書かなくなる。
jqueryから世の中はjavascriptやvue.jsなどへシフトしているそうだけど、未だにjqueryばかり書いている自分です。なれないといけないと思いつつ!?
別のことに力を注いでいる毎日です。
ちなみに「じぇじぇじぇ」は方言で驚きを指す言葉だとか。
タグ
1, addEventListener, body, class, console, DOCTYPE, document, EVENT, gt, head, html, if, input, javascript, let, log, lt, querySelector, script, strict, Text, type, use, value, zyezyezye, おいら, レベル, 処理,
映画、ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版)を観ましたよ。
映画、ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版)を観ましたよ。これは良かった。
成功は決定的ではなく、失敗は致命的ではない。大切なのは続ける勇気だ
Success is not final, failure is not fatal: it is the courage to continue that counts
タグ
5, 50, com, continue, counts, courage, failure, fatal, FINAL, is, IT, lSG, MIoE, nbsp, not, success, that, The, To, youtube, ウィンストン, コレ, チャーチル, ヒトラー, 世界, 勇気, 大切, 失敗, 字幕, 成功, 映画, 男,
PHPの無名関数の使い道が未だにわからないし…
<?php
$mumei = function()
{
if($cnt = func_get_args())
{
foreach($cnt as $key=>$value)
{
print func_get_arg($key);
}
}
};
$mumei(1,2,3,4,5,6);
わからない、未だにわからないし、使う機会が少ないのだけどいったいどこに使うのか。
追記:
2021年の今、無名関数を使ってコードを書くことが増えました、PHP8になりオブジェクト指向が洗練されてきています。今後、無名関数を使用してコードを書くこともあると思います。因みにJSの方が無名関数でコードを書くことが多いですね。
PHPでの無名関数の問題点は、頻繁に無名関数ばかり使用していると他のエンジニアが読みづらく感じる所かもしれません。特にPHPの昔のバージョンになればなる程、読みづらいと思います。
タグ
1, 2, 2021, 3, 4, 5, 6, 8, arg, args, as, cnt, foreach, FUNC, function, GET, gt, if, JS, key, lt, mumei, php, print, value, エンジニア, オブジェクト, コード, こと, どこ, 今, 今後, 他, 使い道, 使用, 問題点, 所, 指向, 方, 未だ, 機会, 洗練, 無名, 追記, 関数, 頻繁,
グリーンブックを観てきましたよ。
グリーンブックを観てきましたよ。
映画をあまり観ない人がこの映画を観たら
結構、良い評価になりそうなんです。
実話ベースの映画だということだから、やっぱ
為にはなる話だということは確かですね。
この映画で印象に残ったのは、寂しいときは
自ら進んで動くという言葉です。
また人種差別の問題というよりは、ひとがどう逆行に立ち向かうのか
という事を基にして撮っているようにも思えました。
タグ
awUd, com, khNEcc, nbsp, youtube, グリーン, こと, とき, ひと, ブック, ベース, 事, 人, 人種, 印象, 問題, 基, 実話, 差別, 映画, 為, 自ら, 言葉, 評価, 話, 逆行,
ネームスペースの利点はこれだと思っている。
ネームスペースの利点はこれだと思っている。
複数人で開発とかしているときに関数名やクラスなどが
かぶってしまう可能性ある、そういうのを
解決してくれるのがネームスペースということです。
<?php
namespace testdemo;
class test{
function demo():string
{
return "demo1n";
}
}
namespace testdemo2;
class test{
function demo():string
{
return "demo2n";
}
}
<?php
include_once "./index-6.php";
$demo = new testdemotest();
print $demo->demo();
$demo = new testdemo2test();
print $demo->demo();
タグ
'dem, 1, 2, 6, class, demo, function, include, index, lt, namespace, nbsp, new, once, php, print, return, string, test, クラス, こと, これ, スペース, とき, ネーム, 利点, 可能性, 複数人, 解決, 開発, 関数,
再帰処理の考え方は単なるこれだけのこと。
再帰処理の考え方は単なるこれだけのこと。
forやwhile文などでループできない処理の代替えだと
思うとわかりやすいかも。
<?php
print loop(-20);
function loop($i,$ii=1):int
{
if($i>=5)
{
return $i;
}
$i++;
$ii = $ii * $i;
print "$i=$in";
print "$ii=$iin";
if($ii==0)
{
$ii = 20;
}
return loop($i,$ii);
}
タグ
0, 1, 20, 5, For, function, gt, if, Ii, int, loop, lt, php, print, return, while, こと, これだけ, ループ, 代替え, 再帰, 処理, 文, 考え方,
javascriptのアロー関数というものを使ってみた。
javascriptのアロー関数というものを使ってみた。
関数と同じだよねとおもっていると落とし穴があるみたい。
どうもグローバル変数が挙動不審みたいなんです。
/* アロー関数 */
let func1 = a => a + 3;
console.log(func1(5));
let func2 = (a,b)=>{
return a + b + 3;
}
console.log(func2(1,2));
タグ
1, 2, 3, 5, console, FUNC, gt, javascript, let, log, return, アロー, グローバル, もの, 変数, 落とし穴, 関数,
アリータ:バトル・エンジェルを観てきましたよ。
アリータ:バトル・エンジェルを観てきましたよ。
エンターテイメントな仕上がりですけど、何か物足りないのは
完結していないからなのか?
瞳の大きさですけど、あまり違和感なく見れたのは
不思議ですね。そしていづれ人はサイボーグ化した体で
永遠に生きるのかもなと・・・。
タグ
20, com, mCxvYpbLL, nbsp, youtube, アリータ, いづれ, エンジェル, エンターテイメント, サイボーグ, バトル, 不思議, 体, 完結, 永遠, 瞳, 違和感,
PHP忘れてしまいそう。
こういう書き方とか書かなかったら忘れてしまいそうですね。
クラスの多重継承とか職場ではそもそもしない。Functionで十分な感じで
この頃、ろくなコードを書いていません。FunctionからFunctionへなんて
コードを書いてたりしています。
<?php
function demo1(int $val=0):int
{
return 3 * 3 * $val;
}
print demo1(3);
class demo2
{
public static function test1():string
{
return "ABC";
}
}
$demo2 = "demo2";
print $demo2::test1();
trait demo3
{
public static function test2($val=""){
return $val;
}
}
class demo4
{
public static function test3($val = "")
{
return $val;
}
}
class demo5 extends demo4
{
use demo3;
public static function test4($val = "")
{
return $val;
}
}
$demo5 = 'demo5';
print $demo5::test2(1);
print $demo5::test3(2);
print $demo5::test4(3);
タグ
0, 1, 2, 3, ABC, class, demo, function, int, lt, nbsp, php, print, public, return, static, string, test, trait, val, クラス, コード, そもそも, 多重, 感じ, 書き方, 継承, 職場, 頃,
PHPでバインドするこれでSQLの脆弱性が!?
上記の画像では脆弱性がある。
PHPでバインドするこれでSQLの脆弱性が解決してくれる?
こういう記述すると良さげ。 おまけでSQLデバッグ方法を書いとります。
<?php
$sql =<<<SQL
select * from demo where id = :id and namae = :hoge;
SQL;
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$id = 123;
$hoge = "hoge";
$sth = $dbh->prepare($sql);
$sth->bindValue(':id', $id, PDO::PARAM_INT);
$sth->bindValue(':hoge', $hoge, PDO::PARAM_STR);
$sth->execute();
タグ
$dbh->, dbh, dbname, execute, hoge, host, localhost, lt, MYSQL, PARAM_INT, PARAM_STR, PDO, php, prepare, SQL, SQL select, sth, test,
WordPressの全記事の中からランダムで記事をピックアップしてツイートする。
WordPressの全記事の中からランダムで記事をピックアップしてツイートする。
実際、自分の階層に合わして呼び出しを変更してください。
なお、さくらレンタルサーバーでクロンの設定をして自動投稿できます。
ライブラリの設置などは割愛してます。
<?php
// cron:: cd /home/user/www/zip358.com/site/tw; /usr/local/bin/php tw.php
require_once ('../../wp-load.php');
require "vendor/autoload.php";
use AbrahamTwitterOAuthTwitterOAuth;
$consumer_key = "XXXXXXXXXXXXXX";
$consumer_secret = "XXXXXXXXXXXX";
$access_token = "XXXXXXXXXXXXXX";
$access_token_secret = "XXXXXXXXXXXXXXX";
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$args = array(
'posts_per_page' => 1,
'orderby' => 'rand'
);
$posts = get_posts($args);
foreach ( $posts as $val ){
$href = get_permalink($val->ID);
$title = get_the_title($val->ID);
$res = $to->post("statuses/update", array("status" => $title . " " . $href));
}
タグ
358, Abraham, access, autoload, bin, cd, com, consumer, cron, home, key, local, lt, once, php, require, secret, site, tok, tw, TwitterOAuth, use, user, usr, vendor, WordPress, wp-load, XXXXXXXXXXXX, XXXXXXXXXXXXXX, zip, クロン, サーバー, さくら, ツイート, ピックアップ, ライブラリ, ランダム, レンタル, 中, 割愛, 変更, 実際, 投稿, 自分, 自動, 記事, 設定, 設置, 階層,
PHPで怒られる怒られない2
PHPで怒られる怒られないの違いはさて何でしょうか?
selfの使い道がポイントです。selfは静的な要素だと動作し
$thisは動的な要素だと動作します。
<?php
class demo1
{
static function test1()
{
return __METHOD__.self::test2();
}
static function test2()
{
return __FUNCTION__;
}
}
class demo2
{
static function test1()
{
return __METHOD__.self::test2();
}
function test2()
{
return __FUNCTION__;
}
}
$demo1 = 'demo1';
print $demo1::test1()."n";
$demo2 = 'demo2';
print $demo2::test1()."n";
タグ
1, 2, class, demo, FUNC, function, lt, METHOD, php, return, self, static, test, this, ポイント, 何, 使い道, 動作, 要素, 違い,
PHPのインターフェイスとやら簡単に言えば。
インターフェイスとはなんぞや?
簡単に言えばこのメソッド名は必ず使えです。
無ければエラーになります。
大規模な開発から中規模な開発時には一応必要かな?
<?php
interface test1{
public function test_11(int $val=1);
public function test_12(string $val="000");
}
class demo implements test1{
public function demo1(int $val=0){
return $this->test_11($val);
}
public function test_11(int $val=1){
return $val;
}
public function test_12(string $val=""){
return $val;
}
}
$demo = new demo();
print $demo->demo1(111);
タグ
0, 000, 1, 11, class, demo, function, gt, implements, int, interface, lt, nbsp, php, public, return, string, test, this, val, インターフェイス, エラー, メソッド, 大規模, 必要, 簡単, 規模, 開発,
PHPで怒られる怒られない。
PHPで怒られる書き方と怒られない書き方です。
下記のコードを参照ください。
<?php
class demo_php1{
function demo1($val=""){
return $val;
}
public function demo2($val=""){
return $val;
}
static function demo3($val=""){
return $val;
}
}
print demo_php1::demo1("DEMO1n");
print demo_php1::demo2("DEMO2n");
print demo_php1::demo3("DEMO3n");
下記のようにインスタンス(instance)すればこのコードはすべて怒られないです
それだけの違い。ちなみにdemo3は怒られない書き方です。
オブジェクトを単体で使う場合は気をつけましょう。
PHPのバージョンアップするにつれjavaのような動きになってきています。
PHP、Pythonに負けないようにかこの頃開発が活発化してます。
最新はPHP7.4ですからね・・・。
$demo_php1 = new demo_php1();
print $demo_php1->demo1("DEMO1n");
print $demo_php1->demo2("DEMO2n");
print $demo_php1->demo3("DEMO3n");
タグ
1, 2, 3, class, demo, function, instance, lt, php, print, public, return, static, val, インスタンス, コード, すべて, それだけ, 下記, 参照, 書き方, 違,
tensorflowは簡単にインストールできるけど、そこから何やれば
tensorflowは簡単にインストールできるけど、そこから何やれば
良いのか、よくわからない。
いま流行りの人工知能ですが、こういうこと出来るよってのは
知っている、例えば画像の仕分けとか。
そこからオリジナルに適応できないのだ。
若造なら画像収集とか考えそうです、、、えぇぇ。
10代なら若気の至りだろうけど、40代間近になると
さすがに無いなと思うわけです。
収集していたらグロ画像が釣れそうな気がしますし
怖くてできません。ちなみに
逃げるは恥だが役に立つグーグル画像検索ダウンロードコンソールアプリを
公開しているのですが、これ変更すればえぇまぁ出来そうですね。
■人工知能を仕事で活用するならば。
人工知能で出来ることで、人の顔にモザイクをかけることが出来るということ。
他には、画像の仕分けとか、本屋さんで小耳に挟んだことですが
工事現場とかでは結構写真を取らないといけないらしく
それを分別するのが面倒だとか、
こういうのには人工知能は大活躍しそうですね。
タグ
10, 40, tensorflow, アプリ, いま, インストール, オリジナル, グーグル, グロ, こと, これ, コンソール, さすが, そこ, ダウンロード, モザイク, 人, 人工, 仕事, 他, 公開, 写真, 収集, 変更, 小耳, 工事, 役, 恥, 本屋, 検索, 気, 活用, 現場, 画像, 知能, 簡単, 若気, 若造, 適応, 間近, 顔,
windows10 1809 不具合 Chromeが繋がらない(タイムアウト)
windows10アップデート後(1809) 不具合 :Chromeが繋がらない
(タイムアウト)の対応策。
初期化して再度OSを入れ直すのもアレなんで対応策として
スタートアップ時にBatを走らせる事にした。
管理者権限にするBatとネットワークサービスを再起動するBatで
なんとか次期OSのアップデートかGさんが解決してくれる事を
期待しています。
それまでコンピュータ管理のサービスとかも停止せず待っときます。
Batは下記になります。
追記:
累積アップデートで直りましたと言いたいところだけど
一度、累積アップデートの一部を削除して再度、累積アップデートを
適応したら直りました・・・。
net stop CryptSvc
net start CryptSvc
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process (管理者)ネットが繋がらないよ.bat -Verb runas"
タグ
-ExecutionPolicy, -NoProfile, 10, 1809, Bat, Chrome, CryptSvc, net, OS, powershell, start, stop, unres, Windows, アップ, アップデート, あれ, コンピュータ, サービス, スタート, それまで, タイムアウト, ところ, ネットワーク, 一度, 一部, 下記, 不具合, 事, 停止, 再度, 再起動, 初期, 削除, 対応策, 期待, 権限, 次期, 管理, 管理者, 累積, 解決, 追記, 適応,