PHP 7 docblock and function return type?
up vote
2
down vote
favorite
Do I have to make docblocks in php 7 if I declare my function return type?
Is it sufficient to do this for example:
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Or should I do this:
/**
* Find a user by its login.
*
* @param string $login
* @return User
*/
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Feels like double documentation.
php
add a comment |
up vote
2
down vote
favorite
Do I have to make docblocks in php 7 if I declare my function return type?
Is it sufficient to do this for example:
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Or should I do this:
/**
* Find a user by its login.
*
* @param string $login
* @return User
*/
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Feels like double documentation.
php
1
documenting your code is not the same as specifying a PHP 7 return type declaration. Return type declarations really specify the type of the value that will be returned from a function. The return type declaration also has an impact on returned values and error reporting, with strict typing, in the default weak mode, returned values will be coerced to the correct type if they are not already of that type. In strong mode, the returned value must be of the correct type, otherwise a TypeError will be thrown see manual.
– lovelace
Nov 22 at 15:12
2
You never "have to" make docblocks; you don't have to write any documentation at all. So the question really is, is it still useful to add a docblock.
– IMSoP
Nov 22 at 15:27
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
Do I have to make docblocks in php 7 if I declare my function return type?
Is it sufficient to do this for example:
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Or should I do this:
/**
* Find a user by its login.
*
* @param string $login
* @return User
*/
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Feels like double documentation.
php
Do I have to make docblocks in php 7 if I declare my function return type?
Is it sufficient to do this for example:
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Or should I do this:
/**
* Find a user by its login.
*
* @param string $login
* @return User
*/
public function findByLogin(string $login): User
{
return User::where(User::COL_LOGIN, $login)->first();
}
Feels like double documentation.
php
php
asked Nov 22 at 14:59
Michael
988
988
1
documenting your code is not the same as specifying a PHP 7 return type declaration. Return type declarations really specify the type of the value that will be returned from a function. The return type declaration also has an impact on returned values and error reporting, with strict typing, in the default weak mode, returned values will be coerced to the correct type if they are not already of that type. In strong mode, the returned value must be of the correct type, otherwise a TypeError will be thrown see manual.
– lovelace
Nov 22 at 15:12
2
You never "have to" make docblocks; you don't have to write any documentation at all. So the question really is, is it still useful to add a docblock.
– IMSoP
Nov 22 at 15:27
add a comment |
1
documenting your code is not the same as specifying a PHP 7 return type declaration. Return type declarations really specify the type of the value that will be returned from a function. The return type declaration also has an impact on returned values and error reporting, with strict typing, in the default weak mode, returned values will be coerced to the correct type if they are not already of that type. In strong mode, the returned value must be of the correct type, otherwise a TypeError will be thrown see manual.
– lovelace
Nov 22 at 15:12
2
You never "have to" make docblocks; you don't have to write any documentation at all. So the question really is, is it still useful to add a docblock.
– IMSoP
Nov 22 at 15:27
1
1
documenting your code is not the same as specifying a PHP 7 return type declaration. Return type declarations really specify the type of the value that will be returned from a function. The return type declaration also has an impact on returned values and error reporting, with strict typing, in the default weak mode, returned values will be coerced to the correct type if they are not already of that type. In strong mode, the returned value must be of the correct type, otherwise a TypeError will be thrown see manual.
– lovelace
Nov 22 at 15:12
documenting your code is not the same as specifying a PHP 7 return type declaration. Return type declarations really specify the type of the value that will be returned from a function. The return type declaration also has an impact on returned values and error reporting, with strict typing, in the default weak mode, returned values will be coerced to the correct type if they are not already of that type. In strong mode, the returned value must be of the correct type, otherwise a TypeError will be thrown see manual.
– lovelace
Nov 22 at 15:12
2
2
You never "have to" make docblocks; you don't have to write any documentation at all. So the question really is, is it still useful to add a docblock.
– IMSoP
Nov 22 at 15:27
You never "have to" make docblocks; you don't have to write any documentation at all. So the question really is, is it still useful to add a docblock.
– IMSoP
Nov 22 at 15:27
add a comment |
2 Answers
2
active
oldest
votes
up vote
5
down vote
You don't need to add PHPDocs to your code - the return type declarations are fine.
Only reason to add a PHPDoc is to define even more information / more specific types.
See this example here:
/**
* @return string An array of strings
*/
public function findByLogin(): array
{
return ['foo', 'bar'];
}
So, if you are fine with return types, feel free to skip PHPDoc. If you want to give more, standardized info about params/return types: Add an additional PHPDoc.
Tools like PHPStorm help to keep parameters, return types and PHPDoc synchronous. They will show warnings if both do not match.
add a comment |
up vote
2
down vote
It's up to you.
If a method docblock has params & return value types only it's useless and gives nothing additional info for the reader.
If the docblock gives more info (description of input params or what the method return in case of no data was found, etc.) it gives additional value and it makes sense to write it.
In your code snippet the only explanation is what the method does, but @param and @return give no additional info so I would omit them.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
You don't need to add PHPDocs to your code - the return type declarations are fine.
Only reason to add a PHPDoc is to define even more information / more specific types.
See this example here:
/**
* @return string An array of strings
*/
public function findByLogin(): array
{
return ['foo', 'bar'];
}
So, if you are fine with return types, feel free to skip PHPDoc. If you want to give more, standardized info about params/return types: Add an additional PHPDoc.
Tools like PHPStorm help to keep parameters, return types and PHPDoc synchronous. They will show warnings if both do not match.
add a comment |
up vote
5
down vote
You don't need to add PHPDocs to your code - the return type declarations are fine.
Only reason to add a PHPDoc is to define even more information / more specific types.
See this example here:
/**
* @return string An array of strings
*/
public function findByLogin(): array
{
return ['foo', 'bar'];
}
So, if you are fine with return types, feel free to skip PHPDoc. If you want to give more, standardized info about params/return types: Add an additional PHPDoc.
Tools like PHPStorm help to keep parameters, return types and PHPDoc synchronous. They will show warnings if both do not match.
add a comment |
up vote
5
down vote
up vote
5
down vote
You don't need to add PHPDocs to your code - the return type declarations are fine.
Only reason to add a PHPDoc is to define even more information / more specific types.
See this example here:
/**
* @return string An array of strings
*/
public function findByLogin(): array
{
return ['foo', 'bar'];
}
So, if you are fine with return types, feel free to skip PHPDoc. If you want to give more, standardized info about params/return types: Add an additional PHPDoc.
Tools like PHPStorm help to keep parameters, return types and PHPDoc synchronous. They will show warnings if both do not match.
You don't need to add PHPDocs to your code - the return type declarations are fine.
Only reason to add a PHPDoc is to define even more information / more specific types.
See this example here:
/**
* @return string An array of strings
*/
public function findByLogin(): array
{
return ['foo', 'bar'];
}
So, if you are fine with return types, feel free to skip PHPDoc. If you want to give more, standardized info about params/return types: Add an additional PHPDoc.
Tools like PHPStorm help to keep parameters, return types and PHPDoc synchronous. They will show warnings if both do not match.
answered Nov 22 at 15:14
Johannes N.
1,55521837
1,55521837
add a comment |
add a comment |
up vote
2
down vote
It's up to you.
If a method docblock has params & return value types only it's useless and gives nothing additional info for the reader.
If the docblock gives more info (description of input params or what the method return in case of no data was found, etc.) it gives additional value and it makes sense to write it.
In your code snippet the only explanation is what the method does, but @param and @return give no additional info so I would omit them.
add a comment |
up vote
2
down vote
It's up to you.
If a method docblock has params & return value types only it's useless and gives nothing additional info for the reader.
If the docblock gives more info (description of input params or what the method return in case of no data was found, etc.) it gives additional value and it makes sense to write it.
In your code snippet the only explanation is what the method does, but @param and @return give no additional info so I would omit them.
add a comment |
up vote
2
down vote
up vote
2
down vote
It's up to you.
If a method docblock has params & return value types only it's useless and gives nothing additional info for the reader.
If the docblock gives more info (description of input params or what the method return in case of no data was found, etc.) it gives additional value and it makes sense to write it.
In your code snippet the only explanation is what the method does, but @param and @return give no additional info so I would omit them.
It's up to you.
If a method docblock has params & return value types only it's useless and gives nothing additional info for the reader.
If the docblock gives more info (description of input params or what the method return in case of no data was found, etc.) it gives additional value and it makes sense to write it.
In your code snippet the only explanation is what the method does, but @param and @return give no additional info so I would omit them.
answered Nov 22 at 15:15
pryazhnikov
1,52221112
1,52221112
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53433627%2fphp-7-docblock-and-function-return-type%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
documenting your code is not the same as specifying a PHP 7 return type declaration. Return type declarations really specify the type of the value that will be returned from a function. The return type declaration also has an impact on returned values and error reporting, with strict typing, in the default weak mode, returned values will be coerced to the correct type if they are not already of that type. In strong mode, the returned value must be of the correct type, otherwise a TypeError will be thrown see manual.
– lovelace
Nov 22 at 15:12
2
You never "have to" make docblocks; you don't have to write any documentation at all. So the question really is, is it still useful to add a docblock.
– IMSoP
Nov 22 at 15:27