====== Dao ====== **Layer:** ''Core'' · **Source:** ''lib/core/Dao.php:20'' (lines 20–373) ---- class Dao Dao Class Data Access Object ======= Docblock Metadata ======= ^ Tag ^ Value ^ | ''@category'' | Core Class | | ''@author'' | M.Noermoehammad | | ''@license'' | MIT | | ''@version'' | 1.0 | | ''@since'' | Since Release 1.0 | ======= Inheritance ======= //No parent, interface or trait. This is a root type.// ======= Constants (0) ======= //None.// ======= Properties (5) ======= ^ Visibility ^ Type ^ Name ^ Default ^ Line ^ | ''protected'' | ''(untyped)'' | ''$dbc'' | | 27 | | ''protected'' | ''(untyped)'' | ''$sql'' | | 33 | | ''protected'' | ''(untyped)'' | ''$error'' | | 39 | | ''protected'' | ''(untyped)'' | ''$sanitizing'' | | 46 | | ''protected'' | ''(untyped)'' | ''$prefix'' | | 52 | ======= Methods (18) ======= ^ Visibility ^ Method ^ Summary ^ Line ^ | public | ''__construct()'' | (undocumented) | 54 | | protected | ''table()'' | Get prefixed table name | 75 | | protected | ''setSQL()'' | setSQL | 86 | | protected | ''findAll()'' | Find All records | 100 | | protected | ''findRow()'' | Find Single row record | 124 | | protected | ''findColumn()'' | Find Column | 148 | | public | ''checkCountValue()'' | CheckCountValue function | 170 | | protected | ''create()'' | Create records | 191 | | protected | ''modify()'' | Modify record | 204 | | protected | ''deleteRecord()'' | deleteRecord() | 220 | | protected | ''replaceRecord()'' | replaceRecord() | 233 | | protected | ''callTransaction()'' | callTransaction | 243 | | protected | ''callCommit()'' | callCommit | 253 | | protected | ''callRollBack()'' | callRollBack | 263 | | public | ''runInTransaction()'' | Run a callable inside a single database transaction. | 280 | | protected | ''closeConnection()'' | closeConnection | 300 | | protected | ''lastId()'' | lastId | 311 | | protected | ''filteringId()'' | Filter and sanitize input values | 325 | ======== __construct() ======== public function __construct() //lines 54–67 (14)// //Takes no parameters.// ======== table() ======== protected function table($table) //lines 75–78 (4)// Get prefixed table name ^ Parameter ^ Type ^ Default ^ Description ^ | ''$table'' | ''(untyped)'' | //required// | //none// | **Returns:** ''(none declared)'' — string ======== setSQL() ======== protected function setSQL($sql) //lines 86–89 (4)// setSQL ^ Parameter ^ Type ^ Default ^ Description ^ | ''$sql'' | ''(untyped)'' | //required// | //none// | **Returns:** ''(none declared)'' ======== findAll() ======== protected function findAll(array $data = array(), $fetchMode = null) //lines 100–112 (13)// Find All records getting array of rows ^ Parameter ^ Type ^ Default ^ Description ^ | ''$data'' | ''array'' | ''array()'' | //none// | | ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// | **Returns:** ''(none declared)'' — array **Throws:** [[scriptlog:lib:core:dbexception|''DbException'']] ======== findRow() ======== protected function findRow(array $data = array(), $fetchMode = null) //lines 124–136 (13)// Find Single row record getting one row ^ Parameter ^ Type ^ Default ^ Description ^ | ''$data'' | ''array'' | ''array()'' | //none// | | ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// | **Returns:** ''(none declared)'' — mixed **Throws:** [[scriptlog:lib:core:dbexception|''DbException'']] ======== findColumn() ======== protected function findColumn(array $data = array(), $fetchMode = null) //lines 148–160 (13)// Find Column return a single column from the next row of results set getting single field value ^ Parameter ^ Type ^ Default ^ Description ^ | ''$data'' | ''array'' | ''array()'' | //none// | | ''$fetchMode'' | ''(untyped)'' | ''null'' | //none// | **Returns:** ''(none declared)'' — boolean false if no more rows **Throws:** [[scriptlog:lib:core:dbexception|''DbException'']] ======== checkCountValue() ======== public function checkCountValue(array $data = []): int //lines 170–182 (13)// CheckCountValue function ^ Parameter ^ Type ^ Default ^ Description ^ | ''$data'' | ''array'' | ''[]'' | //none// | **Returns:** ''int'' — int **Throws:** [[scriptlog:lib:core:dbexception|''DbException'']] ======== create() ======== protected function create($table, $params) //lines 191–194 (4)// Create records ^ Parameter ^ Type ^ Default ^ Description ^ | ''$table'' | ''(untyped)'' | //required// | //none// | | ''$params'' | ''(untyped)'' | //required// | //none// | **Returns:** ''(none declared)'' ======== modify() ======== protected function modify($table, $params, $where) //lines 204–207 (4)// Modify record ^ Parameter ^ Type ^ Default ^ Description ^ | ''$table'' | ''(untyped)'' | //required// | //none// | | ''$params'' | ''(untyped)'' | //required// | //none// | | ''$where'' | ''(untyped)'' | //required// | //none// | **Returns:** ''(none declared)'' ======== deleteRecord() ======== protected function deleteRecord($table, $where, ?int $limit = 1) //lines 220–223 (4)// deleteRecord() Delete matching record(s). When $limit is null, all matching rows are removed; otherwise at most $limit rows are deleted. ^ Parameter ^ Type ^ Default ^ Description ^ | ''$table'' | ''(untyped)'' | //required// | //none// | | ''$where'' | ''(untyped)'' | //required// | //none// | | ''$limit'' | ''?int'' | ''1'' | Maximum rows to delete, or null to delete all | **Returns:** ''(none declared)'' — int Number of rows deleted ======== replaceRecord() ======== protected function replaceRecord($table, $params, $to) //lines 233–236 (4)// replaceRecord() ^ Parameter ^ Type ^ Default ^ Description ^ | ''$table'' | ''(untyped)'' | //required// | //none// | | ''$params'' | ''(untyped)'' | //required// | //none// | | ''$to'' | ''(untyped)'' | //required// | //none// | **Returns:** ''(none declared)'' ======== callTransaction() ======== protected function callTransaction() //lines 243–246 (4)// callTransaction begin transaction for multiple queries as a unified block //Takes no parameters.// **Returns:** ''(none declared)'' ======== callCommit() ======== protected function callCommit() //lines 253–256 (4)// callCommit commit the transaction if no problems have been encountered //Takes no parameters.// **Returns:** ''(none declared)'' ======== callRollBack() ======== protected function callRollBack() //lines 263–266 (4)// callRollBack to roll back the tables to their original state. //Takes no parameters.// **Returns:** ''(none declared)'' ======== runInTransaction() ======== public function runInTransaction(callable $work) //lines 280–294 (15)// Run a callable inside a single database transaction. All DAO instances share the same Db connection from the Registry, so a transaction begun here atomically covers operations performed across multiple DAOs (e.g. comment anonymization + post reassignment + user deletion during GDPR erasure). Rolls back and rethrows on any Throwable. ^ Parameter ^ Type ^ Default ^ Description ^ | ''$work'' | ''callable'' | //required// | The work to run inside the transaction | **Returns:** ''(none declared)'' — mixed The callable's return value **Throws:** ''\Throwable'' ======== closeConnection() ======== protected function closeConnection() //lines 300–303 (4)// closeConnection //Takes no parameters.// **Returns:** ''(none declared)'' ======== lastId() ======== protected function lastId() //lines 311–314 (4)// lastId //Takes no parameters.// **Returns:** ''(none declared)'' — integer ======== filteringId() ======== protected function filteringId(Sanitize $sanitize, $str, $type) //lines 325–372 (48)// Filter and sanitize input values ^ Parameter ^ Type ^ Default ^ Description ^ | ''$sanitize'' | [[scriptlog:lib:core:sanitize|''Sanitize'']] | //required// | Sanitizer instance | | ''$str'' | ''(untyped)'' | //required// | Input value to filter | | ''$type'' | ''(untyped)'' | //required// | Sanitization type ('sql' or 'xss') | **Returns:** ''(none declared)'' — int|string Sanitized value as integer (sql) or string (xss) **Throws:** ''\InvalidArgumentException'' ---- //This page is generated from source by 'tools/gendoc'. Edits will be overwritten.//