Comments (12)
I was wondering if this should throw an exception/ log a warning?
$db = new EasyDB($pdo);
$db->setAttribute(\PDO::ATTR_EMULATE_PREPARES, true);
from easydb.
Yes, that would be a good idea :)
from easydb.
In that case, would the clone statement you added negate the issue of $db->getPdo()->setAttribute() bypassing EasyDB ?
from easydb.
Yes, it would. You'd have a cloned instance of the internal PDO but be unable to affect the PDO object used by EasyDB.
from easydb.
re: code style consistency commits & static analyses commits, are the tools you use available as gpg-signed binaries as with the phpunit runner ?
from easydb.
I'm actually just using PHPStorm's built in inspections, as I've found it to be as reliable as most third party tools.
from easydb.
I use Atom at home/work, although I run php-cs-fixer from cli rather than the atom package- the .editorconfig from #11 is another habit I got into so I don't break style between machines/projects.
from easydb.
I'm guessing the only benefit to automated linting on travis is to fail a pull request if someone doesn't meet your preferred coding style.
from easydb.
I prefer the @hintjens approach: Merge and fix the code style ourselves. :)
from easydb.
:)
Since we're already throwing exceptions if $string
is empty or starts with a number, should we be throwing an exception in EasyDB::escapeIdentifier() if $str !== trim($string)
(or $str !== $string
for the even more paranoid approach)?
i.e. $str
refers to something other than $string
(since "foo@bar" ≠ "foobar") vs "your $string
is terrible"? (possible overkill on the input paranoia there :P)
Furthermore, is it overkill to modify it further to support separator characters when quoting? i.e.
$db = new EasyDB($pdo);
// would normally return [foobar], "foobar" or `foobar`
$tableThenField = $db->escapeIdentifier('foo.bar');
// would normally return [foobarbaz], "foobarbaz" or `foobarbaz`
$databaseThenTableThenField = $db->escapeIdentifier('foo.bar.baz');
p.s. since the linux box is currently segfaulting on php making testing a pain, I'll be off for the night- fingers crossed that the my main system works tomorrow when it comes back from repair tomorrow.
from easydb.
I've made separator support optional. To enable it, $edb->setAllowSeprators(true);
.
from easydb.
I've found some bugs in the tests etc., will push them up later
from easydb.
Related Issues (20)
- how to insert/update values such CURRENT_TIMESTAMP? HOT 1
- weird error using EasyDB HOT 2
- Last Insert ID? HOT 2
- Getting an error during the connection HOT 1
- B-K Rom hack Help HOT 1
- nevermind.
- run() method broken in PHP 7.4.13 HOT 3
- Trying to clone an uncloneable object of class PDO HOT 1
- How to use with Xampp?
- EasyDB Version 3 to Require PHP 8
- insertMany doesn't work with non-list arrays
- is this class support php version 5.6 HOT 1
- Get ID in insert ? HOT 1
- setAttribute not working HOT 3
- Some bug when filter data by column type bit(1)
- EasyDB->row Bug HOT 1
- Undefined variable $template_engine HOT 2
- insertGet return null if MySQL table contains JSON type field HOT 3
- Support for complex fetch modes
- How can I do a multiple row insert? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easydb.