Skip to content

Instantly share code, notes, and snippets.

@sunvisor
sunvisor / CountOver.php
Created Dec 28, 2019
ページングしたときの総件数を得る関数を DQL に追加する
View CountOver.php
<?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;
View symfony_serializer.md

Entity を array に変換

serializer サービスを使う

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

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

@sunvisor
sunvisor / symfony_validation.md
Created Mar 12, 2019
Symfony のバリデーションの使用法
View symfony_validation.md

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

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

validator サービス

  • Entity に値をセットして validate メソッドを呼ぶとエラーのリストが帰る
  • エラーのリストは ConstraintViolationList オブジェクト
  • string にキャストすることができる
@sunvisor
sunvisor / gist:9106d5c960729bf234457bd73cf36519
Created Mar 12, 2019
Postgresqlに接続できなくなった時
View gist:9106d5c960729bf234457bd73cf36519
# Postgresqlに接続できなくなった時
```bash
rm /usr/local/var/postgres/postmaster.pid
```
@sunvisor
sunvisor / postgres_join_update.md
Created Mar 12, 2019
SQL: 結合して update
View postgres_join_update.md

結合して 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 / symfony_security.md
Created Mar 12, 2019
Symfony のセキュリティ
View symfony_security.md

Symfony のセキュリティ

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

create-project

website-skelton

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

@sunvisor
sunvisor / ext_js_mashup.md
Created Mar 12, 2019
Ext JS での外部ライブラリの読み込み
View ext_js_mashup.md

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

`Ext.mixin.Mashup’ を使う

    mixins: [
        'Ext.mixin.Mashup'
    ],
View sencha_memo.md

Sencha のメモ

Sencha の Ext JS を使っていて、「あれ、どうするんだっけ?」と忘れてしまいがちなことをメモしておきます。

Grid の変更マーク (赤い小さな三角形) を表示させない

viewConfig: {
    markDirty: false
},
View test
displayTpl : [
'<tpl for=".">',
'{[typeof values === "string" ? values : values["id"]]}',
" : ",
'{[typeof values === "string" ? values : values["name"]]}',
'<tpl if="xindex < xcount">, </tpl>',
'</tpl>'
],
View gist:d9a04dd97c60d4c0f9ca
Ext.define("MyApp.view.edit.Edit",{
extend: "Ext.form.Panel",
xtype: 'myedit',
viewModel: {
type: "edit-edit"
},
bodyPadding: 10,