ysugiyama12 のアーカイブ

phpのnullやfalse

2017年9月20日

twitterでnullやfalseがややこしいというネタを見つけたので少し調べてみました。 **判定のややこしい文字群** ""(空文字), "0"(文字列の0), 0(数字の0), null, false, array(), $x(未定義)... **判定する方法および結果** is_null() -> nullはもちろんtrueを返すが、$x(未定義)もtrueを返すので注意 $xではnoticeのエラーを出す empty() -
続きを読む

WordPressでメディアへ画像をアップロードする

2017年9月15日

wp_insert_attachmentという関数を用いることで添付したファイルをメディアへアップロードすることができる。 ``` $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name( $filename ), 'post_content' => '', 'post_status' =
続きを読む

get_postsで指定した要素のみを取得する

2017年9月13日

get_postsで取得できる結果は何もしないと多くの要素を含んでおり、メモリの使用量などの面からも無駄が多いといえる。 そこで、検索する際の条件に'fields'の項目を設けることで特定のデータだけを抽出することができる。 ``` $args = array( 'post_type' => 'room', 'meta_query' => array( //... ), 'fields' => 'ids', ); $resul
続きを読む

ionicの仕様が昔と変わっている…?

2017年9月8日

ionicのアプリ版でビルドができないということで調べたところ、過去にリリースされたものは"legacy"と位置づけられていて 現在のものとは別物になっているような状態だった。 過去にリリースされたAndroidアプリではユーザの新規登録も できなくなっている。 現在は"pro"版らしく、PCでのログインページのURLも異なっている。 iOS版であれば新しいバージョンのionic viewがあるはずなのでiPhoneの方に確認をお願いしたい。 iO
続きを読む

複数の配列の共通項や差を求める関数

2017年9月4日

複数の配列に共通した要素のみを抽出する時にarray_intersectという関数を用いる。 ``` $result = array_intersect($arr1,$arr2,$arr3); ``` このように書けば、$arr1の要素のうち、$arr2と$arr3に共に存在するもののみを返すことができる。 なお、この比較はstring型で行われるため、数値と文字列の区別には注意する必要がある。 この逆のはたらきをする関数がarra
続きを読む

get_postsとWP_Queryの違い

2017年8月30日

投稿ページの情報を取得するためのこの2つの特徴や違いを簡単にまとめておく。なお、query_postsというものもあるが、現在使用非推奨となっているため省略する。 1.定義が異なる get_postsはテンプレートタグだがWP_Queryはクラスに分類される。 2.取得情報量の違い get_postsは記事に関する情報しか有していないが、WP_Queryはページに関する情報も併せ持っている(is_page,the_post()など)
続きを読む

apply_filtersとadd_filter

2017年8月28日

テーマをカスタマイズするのに重要なWordPressの関数。 ``` ``` このようにすることで'my_fook'というフィルターフックを作成して$param1や$param2を関数の引数として渡せるようになる。 そして実行死体関数を定義するのが次のadd_filter。 ``` ``` add_filterを用いて'my_fook'というフィルターフックに実行したい関数'my_func'を紐付ける。3つ目の引数はこの関
続きを読む

isset()を用いたらエラーがでた

2017年8月23日

phpで、変数がnullかどうかを検出するisset()の内部に$room->hoge()などの可変関数を用いたところエラーになった。 調べてみたところisset()は変数や配列のみを対象としていて、可変関数や定数を用いてコールすることはできないそう。 これはisset()が関数ではなく言語構造であることによるものらしい。 参考ページ : [https://php.plus-server.net/function.isset.html](https://ph
続きを読む

get_post_custom_values関数について

2017年8月21日

カスタムフィールドの値を取得するのに普段はget_post_metaを使用することが多いが、1つのキーに複数の値が割り当てられている場合には get_post_custom_valuesを使うとよい。 ``` ``` $keyは取得したいカスタムフィールドのキーを、$post_idは投稿のidを入力する。$post_idが空の場合、現在の投稿を選択したものとみなされる。post_customという省略形も存在する。 $post_idを指定しない場合、
続きを読む

array_unique関数

2017年8月14日

array_unique関数を用いると、配列の要素の中から重複したものを削除することができる。 使用例 ``` $arr = array("a","b","b","c"); $unique = array_unique($arr); echo $unique; //$unique = ("a", "b", "c")のようになる。 ``` 2番目のパラメータを指定するとsort_flagsを指定できる。SORT_NUMERICやSORT_STRINGな
続きを読む

wordmoveについて

2017年8月7日

今まで"wordmove pull -d"をただ何も考えずに叩いていただけだったので、どのような処理なのか 少し調べてみた。 *** Wordmove・・・WordPressをデータベースごと管理することができるRubyのライブラリ。本番とローカルのデータベースの違いを意識せずに開発することができる。 MovefileというYAML形式で書かれたファイルに設定を書き込んでいく。この中身は大きく分けてlocalとproductionに分かれている。 "wordmove
続きを読む

React NativeのNetworkingでデータを取得

2017年7月14日

React NativeでNetworkingのfetch関数を用いることでwebからデータを取得することができる。 以下はFacebookのサンプルで、当該ページにあるデータをjson形式で取得できる。 ``` getData() { return fetch('https://facebook.github.io/react-native/movies.json') .then(response => response.json())
続きを読む

React Nativeで要素をloopして表示する

2017年7月12日

Viewタグなどで囲まれた要素に配列の値などを代入しながら複数回表示する時の方法 ``` export default class Sample extends Component { render() { var label = ["A", "B", "C", "D", "E"]; var Cards = []; for (let i = 0; i < label.length; i++) { Cards.push(
続きを読む

jQueryで複数の要素を取得してforeachを用いる

2017年7月5日

jQueryでクラスなどを指定して複数の要素が取得できる場合、それらをforeachでひとつずつ処理する。 ``` $('#my_data').each(function(i,elem){ console.log(i); console.log(elem); }); ``` iで何番目の要素であるか、elemでその要素を取得することができる。
続きを読む

str.replace関数

2017年6月30日

str.replace関数を使うとある文字を別の文字に変換した文字列が得られるが、文字指定を変数でする場合は注意が必要。 ``` var str = "あえいうえおあお"; var moji = "あ"; var regExp = new RegExp( moji, "g" ) ; var result = str.replace( regExp , "か" ) ; ``` gはglobal match のことで、文字列内のすべての文字を置換するために用
続きを読む

Atomでsvgファイルを表示する

2017年6月23日

インターネット上のサイトでも出来ると思われるが、atomのパッケージ「svg-preview」を用いると更新があるとすぐに反映する svgの表示ができる。 表示したいsvgのファイルを開き、Command+fn+option+vで開くことができる。
続きを読む

hiddenのinput要素で値をPOSTする

2017年6月21日

見えないinput要素を設定してそのvalueを保持しておいてリクエスト先で取得することができる。 ``` ``` リクエスト先ではgetDataを用いて値を取得する。 ``` $data = $this->request->getData('delete_data'); //valueに入っている値(ここでは"F")が取得できる。 ```
続きを読む

crontabについて

2017年6月16日

決められた時刻にある処理を自動的に実行したい場合にcrontabというものを用いる。 * * * * * (command)の形式で入力する。それぞれ*には左からminutes(0-59),hour(0-23),day of manth(1-31),month(1-12),day of week(0-6)を当てはめることで日時を正確に指定できる。
続きを読む

CakePHPでエラー画面を変更する

2017年6月9日

デフォルトで表示される赤っぽいデザインの画面を表示させたくないとき,app.phpにある ``` 'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN), ``` この'true'を'false'にすることでデフォルトのエラー画面を表示しないように変更できる。
続きを読む

データの更新時にキャッシュをリセットする

2017年6月2日

データを更新した時にキャッシュを消去する関数を紐付かせておくことで更新した内容を取り損ねないようにする。 ``` add_action('save_post', 'reset_cache' ); ``` このようにadd_actionでreset_cacheという関数を紐付かせておいて、その関数内で ``` function reset_cache(){ delete_transient('data_key'); } ``` など
続きを読む