Comments (1)
Getters must match ~^(get|is|has)[A-Z]~
and setters must match ~^set[A-Z]~
. Because we need a way to differentiate things that should be exposed through the API and other methods that should not be.
Knowing that, I suggest the following usage, because the prefix is
naturally convey that the value is a boolean and nothing else:
trait HasIsActive
{
/**
* @var bool
*
* @ORM\Column(type="boolean", options={"default" = 1})
*/
private $isActive = true;
/**
* Set is active
*/
public function setIsActive(bool $isActive): void
{
$this->isActive = $isActive;
}
/**
* Get is active
*/
public function isActive(): bool
{
return $this->isActive;
}
}
which will generate something like:
type MyObject {
"""Is active"""
isActive: Boolean!
}
input MyObjectInput {
"""Is active"""
isActive: Boolean = true
}
Or this alternative, if you don't like is
:
trait HasActive
{
/**
* @var bool
*
* @ORM\Column(type="boolean", options={"default" = 1})
*/
private $active = true;
/**
* Set is active
*/
public function setActive(bool $active): void
{
$this->active = $active;
}
/**
* Get is active
*/
public function getActive(): bool
{
return $this->active;
}
}
which would end up as:
type MyObject {
"""Is active"""
active: Boolean!
}
input MyObjectInput {
"""Is active"""
active: Boolean = true
}
So yes, that means that this library forces you to name things a certain way. And there is no (easy?) way around it. It was built this way to allow to quickly expose an API for a huge project, without refactoring the existing codebase.
from graphql-doctrine.
Related Issues (20)
- Support collection in setter HOT 4
- Event driven programming HOT 2
- phpstan HOT 1
- Documentation generation error HOT 3
- Some usage issues HOT 3
- Custom Trait in Model throws Exception HOT 5
- Entity without relations must not have an empty FilterGroupJoin HOT 6
- Cannot return null for non-nullable field HOT 5
- More sorting orders HOT 3
- Groups with OR logic and Joins HOT 2
- Support Embeddable classes HOT 2
- $types->getInput() doesn't work as expected HOT 1
- Hello, could you give me a demo? HOT 1
- No type registered with key `date`. Either correct the usage, or register it in your custom types container when instantiating `GraphQL\Doctrine\Types` HOT 13
- Getting entity fields with magic methods HOT 3
- Support webonyx/graphql-php 14 HOT 1
- Detached Entity HOT 2
- Problem when using with "doctrine/doctrine-bundle" HOT 7
- Slim Framework Example HOT 1
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 graphql-doctrine.