Yii values and goals

I was asked about what are Yii values and goals many times. This time I wrote it down: https://github.com/yiisoft/docs/blob/master/001-yii-values.md

Please check these and say what do you think? Do these match what you, as community member, value in Yii?

12 Likes

We could add something about performance.

1 Like

Added a paragraph about it.

1 Like

Maybe I’m blind, but I do not see any change :stuck_out_tongue: .

Seems I forgot to push the button: https://github.com/yiisoft/docs/commit/b26579a21086b6212392d442ae28cb22e29b8f95

3 Likes

Yes, I like it. Those are the values that I have always liked in Yii.
But I think we could organize those values a little more hierarchically and highlight a few basic concepts. I would put “Being Practical” and “Being Helpful” as the goals, and put other values under them.

Do you want to try re-stucturing it and sending a pull request?

Yeah, I will try.

Just made a PR.

Which PHP version minimum will Yii3 target?

php  >= 7.1.0
2 Likes

Which PHP version minimum will Yii3 target?

@oim is correct but please create new topics for questions not connected to current topic.

2 Likes

How we use human language in the project should express the same goal and values. Yii documentation generally does quite well. This doc could be even more helpful and practical.

Convention over Configuration—what exactly does this mean? Idk. I never found a satisfactory explanation. I don’t think this slogan is either simple or explicit.

You can always replace “usage” with “use”. See Fussell on language and class.

Be consistent in voice. “We prefer practice over theory,” is active voice and it assets ownership. “Loud fails are preferred…” is passive and sounds like weasel words—almost as annoying as “considered harmful”.

Be imperative! It’s simpler and conveys purpose. “Be practical”, “Be helpful”, “Be simple”, “Be explicit”.

I’ll send a PR

1 Like

I’m also not sure about elegance. Aesthetics isn’t central to Yii’s values. Elegance, depending on ones subjective judgement, is often in conflict with being simple and explicit.

I can enjoy writing elegant code but I detest having to deal with other people’s elegant code.

When I dig into framework code to understand what’s going on I do not value elegance. I am thankful if what I find is

  • obvious
  • clear
  • boring

I do not want to admire the elegant work of an artisan.

Maintenance is mentioned in the first sentence of this document. Quite right! Software that is most easily maintained is rather boring.

We should help those in the community with artistic ambition to develop their skills in music, poetry, painting and so on.

2 Likes

Thank you for language-related links. That is always a good read to me as a non-native speaker.

Convention over Configuration—what exactly does this mean? Idk. I never found a satisfactory explanation. I don’t think this slogan is either simple or explicit.

That means that we’re trying to find defaults that cover most use-cases so majority of framework users don’t have to configure much.

I’m also not sure about elegance . Aesthetics isn’t central to Yii’s values. Elegance, depending on ones subjective judgement, is often in conflict with being simple and explicit.

Indeed, elegance, probably, doesn’t fit the document well. Too vague.

We should help those in the community with artistic ambition to develop their skills in music, poetry, painting and so on.

Recording Yii videos should be a great fit, right?

1 Like

He’s quite amusing. Nice accent and a good Scottish name: Connelly. I literally lolled at https://youtu.be/H7uON7rcv4g?t=161

But let’s be honest here, isn’t it kinda insulting to be called an Enterprise Framework. That’s what should come with the dramatic scary music.

1 Like

Good approach - publishing the values as well as these specific ones.
Personally I would add:

Flexibility - Use the full set of Yii features and layers, or only a part of them. Combine Yii with other software without breaking our rules.

Maybe someone understands the idea and finds better words…

2 Likes

we have flexibility here: https://github.com/yiisoft/docs/blob/3f708d24211f327935ab015ac685c3b23913cc4b/001-yii-values.md#sensible-defaults-and-flexibility
Anything concrete missing there?

As I tried to say - flexibility concerns multiple fields:
1- Customisation inside Yii
2- Flexibility to use only parts of Yii
3- Flexibility in combining Yii with other Software - Frameworks, PHP libs, caching tools etc
What you linked only speaks about 1.

1 Like

It will be very good if Yii3 have all 3 flexibility. :slight_smile: