Skip to content

Instantly share code, notes, and snippets.

View caramelchocolate's full-sized avatar

caramelchocolate

View GitHub Profile
@caramelchocolate
caramelchocolate / BeforeAfterPattern.php
Created January 14, 2020 05:26
Design Pattern: Before/After Pattern
<?php
# ref: http://hyuki.com/dp/dpinfo.html#BeforeAfter
abstract class Executor {
abstract protected function before();
abstract protected function execute();
abstract protected function after();
public function perform () {
$this->before();
try {
$this->execute();
@caramelchocolate
caramelchocolate / aTest.php
Created March 9, 2020 11:38
simple TestClass php file
<?php
use PHPUnit\Framework\TestCase;
class aTest extends TestCase
{
private $tempDir;
protected function setUp(): void
{
// ...
@caramelchocolate
caramelchocolate / composer.json
Created March 9, 2020 11:41
sample composer.json for phpunit
{
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
}
}
#!/bin/sh
#watchmedo shell-command -w --recursive --patterns "*.php" --ignore-directories --ignore-pattern '*/.*' --command 'echo "${watch_event_type} | ${watch_object} | ${watch_src_path}"' ./
watchmedo shell-command -w --recursive --patterns "*.php" --ignore-directories --command 'sh test.sh' ./
@caramelchocolate
caramelchocolate / test.sh
Created March 31, 2020 06:42
phpunit wrapper
#!/bin/sh
echo "--------------------------------------------------"
date +"%Y/%m/%d %H:%M:%S"
echo "--------------------------------------------------"
vendor/bin/phpunit -c phpunit.xml.dist
@caramelchocolate
caramelchocolate / phpunit.xml.dist
Created March 31, 2020 06:43
phpunit setting file for me
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
beStrictAboutTestsThatDoNotTestAnything="false"
bootstrap="tests/bootstrap.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
@caramelchocolate
caramelchocolate / bootstrap.php
Last active March 31, 2020 06:46
phpunit uses it
<?php
require __DIR__.'/../vendor/autoload.php';
@caramelchocolate
caramelchocolate / main.sh
Created April 4, 2020 12:50
Run on a specific day.
#!/bin/sh
if [ `date +"%Y%m%d"` == "20200401" ]; then
# do something
:
fi
@caramelchocolate
caramelchocolate / main.sh
Created April 4, 2020 12:52
Write log to file
#!/bin/sh
dir_path="/path/"
date_str=$(date "+%Y%m%d_%H%M%S")
log_name="${dir_path}/${date_str}.log"
touch "${log_name}"
command 2>&1 | tee -a ${log_name};
# or
command >> "${log_name}" 2>&1
<?php
# php -d register_argc_argv=0 main.php
var_dump(ini_get("register_argc_argv"));
$argv = [
__FILE__,
'-f',
'123',
];
var_dump(getopt('f:'));
?>