Move all files to tome/
This commit is contained in:
parent
5675bcfc36
commit
674daab35b
2874 changed files with 0 additions and 0 deletions
146
tome/content/node.2be6f96b-eecb-4205-9ca9-b364196535ab.yml
Normal file
146
tome/content/node.2be6f96b-eecb-4205-9ca9-b364196535ab.yml
Normal file
|
@ -0,0 +1,146 @@
|
|||
uuid:
|
||||
- value: 2be6f96b-eecb-4205-9ca9-b364196535ab
|
||||
langcode:
|
||||
- value: en
|
||||
type:
|
||||
- target_id: daily_email
|
||||
target_type: node_type
|
||||
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
|
||||
revision_timestamp:
|
||||
- value: '2025-05-11T09:00:22+00:00'
|
||||
revision_uid:
|
||||
- target_type: user
|
||||
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
||||
revision_log: { }
|
||||
status:
|
||||
- value: true
|
||||
uid:
|
||||
- target_type: user
|
||||
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
||||
title:
|
||||
- value: 'Is zero unlimited?'
|
||||
created:
|
||||
- value: '2024-01-18T00:00:00+00:00'
|
||||
changed:
|
||||
- value: '2025-05-11T09:00:22+00:00'
|
||||
promote:
|
||||
- value: false
|
||||
sticky:
|
||||
- value: false
|
||||
default_langcode:
|
||||
- value: true
|
||||
revision_translation_affected:
|
||||
- value: true
|
||||
path:
|
||||
- alias: /daily/2024/01/18/is-zero-unlimited
|
||||
langcode: en
|
||||
body:
|
||||
- value: |
|
||||
<p>Something I've seen in code is the unclear use of zero when adding limits, such as loading items from a database.</p>
|
||||
|
||||
<p>In some instances, setting zero will return all items - essentially, an 'unlimited' value in disguise - rather than returning no results, which is what I'd expect.</p>
|
||||
|
||||
<p>I imagine the code looks something like this:</p>
|
||||
|
||||
<pre><code class="language-php">if ($limit > 0) {
|
||||
$query->range(0, $limit);
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>If <code>$limit</code> is greater than one, add it to the query.</p>
|
||||
|
||||
<p>For me, using <code>0</code> as the unlimited value doesn't seem like the best option.</p>
|
||||
|
||||
<p>I'd prefer to use a <code>null</code> value as the default and only add the limit if it's set - i.e. an integer or not null.</p>
|
||||
|
||||
<p>It means the value could be either an integer or null, but I think the intent of the code is more explicit.</p>
|
||||
|
||||
<p>This would make the code look like this:</p>
|
||||
|
||||
<pre><code class="language-php">if (is_int($limit)) {
|
||||
$query->range(0, $limit);
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>Whilst this is clearer, it doesn't cover all use cases.</p>
|
||||
|
||||
<p>Presumably, the limit should only be a positive integer.</p>
|
||||
|
||||
<p>It wouldn't make sense to set a negative number as the limit or, as the unlimited value is <code>null</code>, setting it to zero.</p>
|
||||
|
||||
<p>This is the end code I'd likely write:</p>
|
||||
|
||||
<pre><code class="language-php">if (is_int($limit)) {
|
||||
if ($limit < 1) {
|
||||
throw new InvalidArgumentException('A limit must be a positive integer.');
|
||||
}
|
||||
|
||||
$query->range(0, $limit);
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>If the limit is not an integer, nothing happens.</p>
|
||||
|
||||
<p>It throws an Exception if the value is invalid - i.e. less than one.</p>
|
||||
|
||||
<p>The limit is applied if the limit is greater than or equal to one.</p>
|
||||
|
||||
<p>While it's more complex as there are more checks to perform and different types in use, I think this is clearer and easier for someone reading or implementing the code to understand what it does and use it correctly.</p>
|
||||
|
||||
|
||||
format: full_html
|
||||
processed: |
|
||||
<p>Something I've seen in code is the unclear use of zero when adding limits, such as loading items from a database.</p>
|
||||
|
||||
<p>In some instances, setting zero will return all items - essentially, an 'unlimited' value in disguise - rather than returning no results, which is what I'd expect.</p>
|
||||
|
||||
<p>I imagine the code looks something like this:</p>
|
||||
|
||||
<pre><code class="language-php">if ($limit > 0) {
|
||||
$query->range(0, $limit);
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>If <code>$limit</code> is greater than one, add it to the query.</p>
|
||||
|
||||
<p>For me, using <code>0</code> as the unlimited value doesn't seem like the best option.</p>
|
||||
|
||||
<p>I'd prefer to use a <code>null</code> value as the default and only add the limit if it's set - i.e. an integer or not null.</p>
|
||||
|
||||
<p>It means the value could be either an integer or null, but I think the intent of the code is more explicit.</p>
|
||||
|
||||
<p>This would make the code look like this:</p>
|
||||
|
||||
<pre><code class="language-php">if (is_int($limit)) {
|
||||
$query->range(0, $limit);
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>Whilst this is clearer, it doesn't cover all use cases.</p>
|
||||
|
||||
<p>Presumably, the limit should only be a positive integer.</p>
|
||||
|
||||
<p>It wouldn't make sense to set a negative number as the limit or, as the unlimited value is <code>null</code>, setting it to zero.</p>
|
||||
|
||||
<p>This is the end code I'd likely write:</p>
|
||||
|
||||
<pre><code class="language-php">if (is_int($limit)) {
|
||||
if ($limit < 1) {
|
||||
throw new InvalidArgumentException('A limit must be a positive integer.');
|
||||
}
|
||||
|
||||
$query->range(0, $limit);
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>If the limit is not an integer, nothing happens.</p>
|
||||
|
||||
<p>It throws an Exception if the value is invalid - i.e. less than one.</p>
|
||||
|
||||
<p>The limit is applied if the limit is greater than or equal to one.</p>
|
||||
|
||||
<p>While it's more complex as there are more checks to perform and different types in use, I think this is clearer and easier for someone reading or implementing the code to understand what it does and use it correctly.</p>
|
||||
|
||||
|
||||
summary: null
|
||||
field_daily_email_cta: { }
|
Loading…
Add table
Add a link
Reference in a new issue