diff --git a/src/XBase/Table.php b/src/XBase/Table.php index c899db5..aebab9d 100755 --- a/src/XBase/Table.php +++ b/src/XBase/Table.php @@ -5,6 +5,7 @@ use XBase\Column\ColumnFactory; use XBase\Column\ColumnInterface; use XBase\Column\DBase7Column; +use XBase\Enum\Codepage; use XBase\Enum\TableType; use XBase\Exception\TableException; use XBase\Memo\MemoFactory; @@ -54,9 +55,12 @@ class Table public $encrypted; /** @var string */ public $mdxFlag; + /** * @var string Language codepage. * @see https://blog.codetitans.pl/post/dbf-and-language-code-page/ + * + * @deprecated in 1.2 and will be protected in 1.3. Use getLanguageCode() method. */ public $languageCode; @@ -411,6 +415,16 @@ public function getVersion() return $this->version; } + /** + * @see Codepage + * + * @return int + */ + public function getLanguageCode(): int + { + return ord($this->languageCode); + } + public function getMemo(): ?MemoInterface { return $this->memo; diff --git a/tests/DBaseTest.php b/tests/DBaseTest.php index 301b32f..4d3094b 100644 --- a/tests/DBaseTest.php +++ b/tests/DBaseTest.php @@ -32,7 +32,7 @@ public function testRead(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::NONE, ord($table->mdxFlag)); - self::assertSame(0, ord($table->languageCode)); + self::assertSame(0, $table->getLanguageCode()); $columns = $table->getColumns(); self::assertIsArray($columns); @@ -178,7 +178,7 @@ public function testDbase3(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::NONE, ord($table->mdxFlag)); - self::assertSame(0x03, ord($table->languageCode)); + self::assertSame(0x03, $table->getLanguageCode()); $this->assertRecords($table); $this->assertMemoImg($table); @@ -200,7 +200,7 @@ public function testDbase4(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::NONE, ord($table->mdxFlag)); - self::assertSame(0x03, ord($table->languageCode)); + self::assertSame(0x03, $table->getLanguageCode()); $this->assertRecords($table); $this->assertMemoImg($table); diff --git a/tests/FoxproTest.php b/tests/FoxproTest.php index 7152226..da123fb 100644 --- a/tests/FoxproTest.php +++ b/tests/FoxproTest.php @@ -22,7 +22,7 @@ public function testRead(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::NONE, ord($table->mdxFlag)); - self::assertSame(0x64, ord($table->languageCode)); + self::assertSame(0x64, $table->getLanguageCode()); self::assertSame(12, $table->getColumnCount()); // self::assertSame(10, $table->getRecordCount()); @@ -67,7 +67,7 @@ public function testFoxpro2(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::NONE, ord($table->mdxFlag)); - self::assertSame(0x03, ord($table->languageCode)); + self::assertSame(0x03, $table->getLanguageCode()); $this->assertRecords($table); $this->assertMemoImg($table); diff --git a/tests/VisualFoxproTest.php b/tests/VisualFoxproTest.php index beb2fa5..44e3a48 100644 --- a/tests/VisualFoxproTest.php +++ b/tests/VisualFoxproTest.php @@ -24,7 +24,7 @@ public function testRead(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::CDX | TableFlag::MEMO, ord($table->mdxFlag)); - self::assertSame(0x03, ord($table->languageCode)); + self::assertSame(0x03, $table->getLanguageCode()); self::assertSame(15, $table->getColumnCount()); self::assertSame(0, $table->getRecordCount()); @@ -64,7 +64,7 @@ public function testVfp(): void self::assertSame(false, $table->inTransaction); self::assertSame(false, $table->encrypted); self::assertSame(TableFlag::MEMO, ord($table->mdxFlag)); - self::assertSame(0x03, ord($table->languageCode)); + self::assertSame(0x03, $table->getLanguageCode()); $columns = $table->getColumns();