Skip to content

Instantly share code, notes, and snippets.

@sunvisor
sunvisor / ext_js_mashup.md
Created March 12, 2019 23:17
Ext JS での外部ライブラリの読み込み

Ext JS での外部ライブラリの読み込み

`Ext.mixin.Mashup’ を使う

    mixins: [
        'Ext.mixin.Mashup'
    ],
@sunvisor
sunvisor / symfony_security.md
Created March 12, 2019 23:42
Symfony のセキュリティ

Symfony のセキュリティ

Security の指示に従ってインストール

create-project

website-skelton

security-bundle も最初から入っている

@sunvisor
sunvisor / postgres_join_update.md
Created March 12, 2019 23:44
SQL: 結合して update

結合して update

  • 外部テーブルが一つのときは from で2つめのテーブルを指定する
  • join ではなく where で結合する
UPDATE blog.table_a
SET val = B.val
FROM blog.table_b AS B
WHERE table_a.id = B.id;
  • 外部テーブルが複数の場合は、from の次に join 節を使える
@sunvisor
sunvisor / gist:9106d5c960729bf234457bd73cf36519
Created March 12, 2019 23:45
Postgresqlに接続できなくなった時
# Postgresqlに接続できなくなった時
```bash
rm /usr/local/var/postgres/postmaster.pid
```
@sunvisor
sunvisor / symfony_validation.md
Created March 12, 2019 23:46
Symfony のバリデーションの使用法

Symfony のバリデーションの使用法

https://symfony.com/doc/current/validation.html

validator サービス

  • Entity に値をセットして validate メソッドを呼ぶとエラーのリストが帰る
  • エラーのリストは ConstraintViolationList オブジェクト
  • string にキャストすることができる

Entity を array に変換

serializer サービスを使う

<?php
$s = $container->get('serializer');
$r = $s->normalize($entity);
$json = $s->serialize($entity, 'json');

json へのシリアライズも簡単

@sunvisor
sunvisor / CountOver.php
Created December 28, 2019 01:41
ページングしたときの総件数を得る関数を DQL に追加する
<?php
/** @noinspection PhpUnused */
namespace App\DQL;
use Doctrine\ORM\Query\AST\Functions\FunctionNode;
use Doctrine\ORM\Query\Lexer;
use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\QueryException;
@sunvisor
sunvisor / jsdoc.vim
Created October 17, 2012 04:54
insert jsdoc style comment. (vim function)
" JSDoc形式のコメントを追加(functionの行で実行する)
" hogeFunc: function() の形式と function hogeFunc() に対応
" 関数定義でない場合は、コメントだけ出力する
function! AddJSDoc()
let l:jsDocregex = '\s*\([a-zA-Z]*\)\s*[:=]\s*function\s*(\s*\(.*\)\s*).*'
let l:jsDocregex2 = '\s*function \([a-zA-Z]*\)\s*(\s*\(.*\)\s*).*'
let l:line = getline('.')
let l:indent = indent('.')
let l:space = repeat(" ", l:indent)